随笔分类 -  C语言

摘要:动态库 创建动态库: shared 指明生成动态库 编译: L. 表示需要的动态库从当前目录寻找 运行: 运行前需要把libhello.so复制到$PATH中,这里有两种选择 a.把库文件复制到查找路径中 cp libhello.so /usr/lib/ b.把当前路径添加到查找路径中 export 阅读全文
posted @ 2017-02-16 00:30 cfans1993 阅读(142) 评论(0) 推荐(0) 编辑
摘要:初始化 第一种情况:初始化数据小于数组长度 如前面两个初始化的例子,这两个例子的效果一样,前五个字符为Hello,剩余的用'\0'填充 第三行与第四行,都只指定了第一个字符,剩余的全部用'\0'填充。第四个例子相当将整个数组初始化为'\0' 第二种情况:初始化数据等于或超过数据长度 这种情况下,超出 阅读全文
posted @ 2017-02-16 00:30 cfans1993 阅读(45745) 评论(0) 推荐(3) 编辑
摘要:时间有关的数据类型 time_t: long类型, 记录从1970年1月1日0时0分0秒到现在经过的秒数,在32位的long类型平台上2038年时间溢出 struct tm: 符合人类习惯的记录方式 相关函数的重要区别 ctime(time_t \ p):与asctime(localtime(tim 阅读全文
posted @ 2017-02-16 00:29 cfans1993 阅读(319) 评论(0) 推荐(0) 编辑
摘要:关于结束符 str_开关的函数在遇到'\0'会结束运行,而mem_开关的函数会一直运行到指定的数量 strcpy函数在复制完后在结尾会加上一个\0 strncpy函数在复制时, 如果实际可复制字符少于指定的字符数, 则在结尾一直添加\0直到达到指定值; 如果实际可复制字符超过指定值,则只复制到指定值 阅读全文
posted @ 2017-02-16 00:28 cfans1993 阅读(134) 评论(0) 推荐(0) 编辑
摘要:rand 生成随机数需要一个初始值, rand函数的初始值是固定的,所以每次生成的随机数序列都是一样的 srand函数的作用是修改初始值,让rand函数生成的随机数序列每次都不一样,一般将当前时间传入srand生成初始值 c include include include int main(int 阅读全文
posted @ 2017-02-16 00:27 cfans1993 阅读(107) 评论(0) 推荐(0) 编辑
摘要:windows下源文件编码问题 在windows下不要直接右击桌面创建.txt再改成.c,这种方式容易引起编码问题 windows下gvim的设置: 先打开gvim再用:w newfile.c这种方式来创建新文件 vimrc文档中设置保存文件的编码方式为chinese或gbk set fileenc 阅读全文
posted @ 2017-02-16 00:27 cfans1993 阅读(609) 评论(0) 推荐(0) 编辑
摘要:qsort与bsearch qsort(元素起始地址,元素总数,单个元素的大小,比较函数) bsearch(key元素地址,元素起始地址,元素总数,单个元素的大小,比较函数) 比较函数: 原型为int comp(const void \ a,const void \ b) 规定a b时返回正 c i 阅读全文
posted @ 2017-02-16 00:26 cfans1993 阅读(379) 评论(0) 推荐(0) 编辑
摘要:转换一个字符 mblen用于检测s指针位置第一个字符占有的字节数,n为要检测的字节数,一般指定为MB_CUR_MAX mblen返回值:如果s指向汉字返回2,s指定英文字符返回1 mbtowc将一个字符从多字节编码转到宽字节编码 wctomb将一个字符从宽字节编码转到多字节编码 转换字符串 n的作用 阅读全文
posted @ 2017-02-16 00:25 cfans1993 阅读(1519) 评论(0) 推荐(0) 编辑
摘要:1 GB2312 80 GB 2312 或 GB 2312 80 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称 GB 0,由中国国家标准总局发布,1981 年 5 月 1 日实施。GB 2312 编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和 阅读全文
posted @ 2017-02-16 00:25 cfans1993 阅读(670) 评论(0) 推荐(0) 编辑
摘要:解决宏与函数重名 函数在前宏在后的重名能正常工作. 宏在前函数在后就需要给函数名加一个括号 调用函数时,不管谁在前都需要给函数名加括号 理解: gcc编译时会把宏展开, 也就是把调用宏的地方全部替换成宏后面的字符串,加上括号后就能起到分隔的作用(即防止被替换), 比如下面的例子,宏在前,gcc编译前 阅读全文
posted @ 2017-02-16 00:24 cfans1993 阅读(148) 评论(0) 推荐(0) 编辑