自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员——驻酒客栈

让code变得更有诗意

  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 一道面试题引发的关于c语言中文件操作的总结

一、引言最近在准备面试的过程中,找到了一道难度不是很大的面试题,以此来进行文件操作相关函数以及用法的总结,面试题是这么讲的:请编写程序:从键盘输入一个字符串,将其中的小写字母全部转化为大写在吗,输出到磁盘文件“upper.txt"中保存。输入的字符串以”!“结束。然后,再将文件upper.txt中的内容读出显示在屏幕上。初看此题觉得不是很难,写代码的时候发现自己久疏战阵,很多文件操作的

2017-09-12 19:37:49 988

原创 二维数组和指针之间的关系详解

一、引言说起二维数组可能首先想到的是各种嵌套的for循环,二维数组的初始化,二维数组的赋值,二维数组的输出等各种问题,当然了,数组的问题永远离不开指针,而二维数组所能联系到的就是二维指针了,此文则是着重讲解二维数组与二维指针之间的关系。二、初始化与赋值#define M 4#define N 5int arr[M][N] = {{2,3,4,5},{3,5,},{6,},{9

2017-09-09 14:12:40 5466

原创 Linux下从原文件到可执行文件的过程

一、引言对于c和C++而言,编译器从源文件生成可执行文件需要一个过程,那么从源文件(.h,.cpp,.c文件)到一个二进制的可执行文件这个过程中发生了什么呢,所以需要再次做一个总结:二、流程图可以看到整个从源文件到生成可执行文件的过程中,总共有四个过程,这四个过程可以先总结为:1、源代码通过预编译阶段,生成一个预处理文件.i文件;

2017-09-06 22:22:22 1502

原创 C++设计模式系列(一):单例模式

在GOF的《设计模式 可复用面向对象软件的基础》中一共讲解了23种设计模式,我们在各种代码和框架中或多或少的发现他们的影子,为了更好的掌握这些设计模式,我们将以C++代码的形式在博文中做一个总结。一、单例模式1.引言单例模式是在各种设计模式中最基础的一个设计模式,因为只涉及到一个类,所以也是最简单的一个设计模式,单例模式的主要意图和动机是什么呢?我们可以看下《设计模式 可复

2017-09-03 22:08:27 253

原创 c/c++内存对齐总结

1、引言对于结构体来经常会涉及到内存对齐问题,如下面代码所示:#include struct Test{short x1;   char x2;    float x3;   char x4;     };int main(void){struct Test t;//printf("0x%p\n", &t.x1);//pr

2017-08-30 18:23:02 235

原创 数组中只出现一次的问题(异或问题)

具体描述: 在一个整型数组中,数组都是成对出现,只有两个元素为单独的元素,求出这两个元素的值。思路: 1、此处为异或预算符的经典问题,两个相同值的异或运算后的值为0; 2、首先将数组的所有元素做异或运算,最后得到的是两个单独元素异或后的值 (因为相同元素异或后的值均变成0); 3、两个单独元素肯定会有某一位或者几位是不同的,找出要么为0,要么为1,我们可以根据此位为0或者1,将数组元素分

2017-08-10 20:53:17 394

原创 C或C++语言交换变量值的方式

C或者C++经常会有交换变量的方式,以下为交换变量的几种具体形式的实现#include <iostream>int main(void){ int a = 3, b = 4; //借助第三方临时变量 int temp; temp = a; a = b; b = temp; std::cout << "a=" << a << ",b=" << b

2017-08-09 10:02:38 1284

原创 windows下编写Dll动态库及调用

概述 DLL:Dynamic Link Library,即动态链接库,这种库包含了可由多个程序同时使用的代码和数据。 它是microsoft在windows操作系统中实现共享函数库概念的一种实现方式。方法 1、新建工程:打开VS2015,选择新建项目,依次点击:VisualC++ -> Win32 -> Win32项目(填写名称,路径) -> 确定 –> 下一步(应用程序类型选择Dll,勾选

2017-05-09 22:06:39 2931

原创 C语言大小端问题剖析

在C语言中,常常会遇到判断CPU大小端的问题,在很多的笔试面试中经常会出现类似的题目,网络编程中也会进程遇到类似的问题,此文做以总结。1、那么何为CPU的大端和小端呢?大端: 指的是数据的高字节存放在内存的低地址中,数据的低字节存放在内存的高地址中;小端: 指的是数据的高字节存放在内存的高地址中,数据的低字节存放在内存的低地址中;2、如何用图来说明?例如

2016-12-23 11:49:54 662

原创 UNIX环境高级编程学习之路(六)----进程控制

对于UNIX环境编程,工作中经常会用到相关知识,作为学习UNIX环境编程的经典书籍–UNIX环境高级编程,是每个UNIX编程人员必看的经典书籍之一,为了将相关知识重新进行学习,以系统的整合所学知识,遂以博文形式作为总结。 1、概述 本节介绍UNIX系统的进程控制,包括创建新进程、执行程序和进程终止。还将说明进程属性的各种ID–实际、有效和保存的用户ID和组ID,以及他们如何受到进程控制原语的影响

2016-12-19 17:34:34 2327

原创 UNIX环境高级编程学习之路(五)----进程环境

对于UNIX环境编程,工作中经常会用到相关知识,作为学习UNIX环境编程的经典书籍–UNIX环境高级编程,是每个UNIX编程人员必看的经典书籍之一,为了将相关知识重新进行学习,以系统的整合所学知识,遂以博文形式作为总结。 1、概述当程序执行时,其main函数是如何被调用的,命令行参数是如何传递给新程序的;典型的存储空间布局是什么样式,如何分配另外的存储空间,进程如何使用环境变量,进程的各种不同终止

2016-11-16 15:03:16 370

原创 UNIX环境高级编程学习之路(四)----系统数据文件和信息

对于UNIX环境编程,工作中经常会用到相关知识,作为学习UNIX环境编程的经典书籍--UNIX环境高级编程,是每个UNIX编程人员必看的经典书籍之一,为了将相关知识重新进行学习,以系统的整合所学知识,遂以博文形式作为总结。

2016-11-09 20:20:57 315

原创 UNIX环境高级编程学习之路(三)----标准I/O库

对于UNIX环境编程,工作中经常会用到相关知识,作为学习UNIX环境编程的经典书籍--UNIX环境高级编程,是每个UNIX编程人员必看的经典书籍之一,为了将相关知识重新进行学习,以系统的整合所学知识,遂以博文形式作为总结。一、概述    标准I/O库处理很多细节,如缓冲区分配,以优化的块长度执行I/O等。二、流和FILE对象    对于标

2016-11-08 20:49:57 588

原创 UNIX环境高级编程学习之路(二)----文件和目录

对于UNIX环境编程,工作中经常会用到相关知识,作为学习UNIX环境编程的经典书籍--UNIX环境高级编程,是每个UNIX编程人员必看的经典书籍之一,为了将相关知识重新进行学习,以系统的整合所学知识,遂以博文形式作为总结。一、概述本章将描述文件系统的其他特征和文件的性质。将从stat函数开始,诸葛说明stat结构的每一个成员以了解文件的所有属性。在此过程中我们将说明修改这些属性的各个函数(

2016-11-03 13:43:50 979

原创 UNIX环境高级编程学习之路(一)----文件I/O

对于UNIX环境编程,工作中经常会用到相关知识,作为学习UNIX环境编程的经典书籍--UNIX环境高级编程,是每个UNIX编程人员必看的经典书籍之一,为了将相关知识重新进行学习,以系统的整合所学知识,遂以博文形式作为总结。一、概述    Unix系统可用的文件I/O函数--打开文件,读文件,写文件等,大多数文件I/O只需用到5个函数:open、read、write、ls

2016-10-20 15:23:11 728

原创 常见排序算法C/C++实现总结

在数据结构与算法中常见的排序算法有:1.插入排序;2.冒泡排序;3.堆排序;4.归并排序;5.快速排序;相关实现:一、插入排序#include void InsertSort(int arr[],int num){ for (int i = 1; i < num; i++) { for (int j = i; j > 0; j--) { if

2016-07-15 17:12:22 282

原创 MySQL数据库相关知识梳理

int STDCALL mysql_query(MYSQL *mysql, const char *q):连接上数据库后,将连接上数据库额句柄和执行的SQL语句传入到函数中即可执行该语句。MYSQL_RES *res;res = mysql_store_result(MYSQL *mysql); //取回结果集地址mysql_store_result的返回值是执行sql语句后的

2016-02-05 10:12:36 517

Linux高性能服务器编程

前半部分主要讲解基础知识,后半部讲解服务器编程

2016-12-23

数据结构与算法分析C++描述

数据结构与算法C++语言描述。

2016-12-03

Shell脚本学习指南

2016-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除