美文网首页
C标准库

C标准库

作者: frameyl | 来源:发表于2018-06-08 22:42 被阅读0次

    今天总结一下C语言标准库。

    C语言标准库(C89)包含15个头文件,新的C99以及C11又定义了一些其他的库,这里略过不说,常用的如下,

    <assert.h> - 包含assert()函数,这个函数现在还有人用吗?至少我这几年没有见人用了,因为它会直接导致进程退出,而且只会记下当前的调用栈,只能发现问题而不能帮助解决问题,在现实中使用日志系统或者直接用标准输出记录问题会帮助更大。

    <ctype.h> - 字符测试函数,可能有很多人喜欢自己实现类似islower()或者tolower()的函数,不过这个库里的函数在某些场景真的很有用。不如isalnum()检查是不是字母或者数字,isprint()检查是不是可打印的字符,还有isspace()可以检查是不是白空格。

    <errno.h> - 很多库函数或者系统函数会把错误代码写入errno. 记录错误日志时,要检查一下出错的调用是否记录errno。

    <math.h> - 数学运算的库,常用的如幂运算pow()和余数运算fmod().

    <stdarg.h> - 如果函数中使用了可变参数,需要用这个库来解析这些参数。

    <stdio.h> - 这可能是C语言最常用的头文件了吧,定义了一些文件操作的方法,比如打开文件fopen(),和关闭文件fclose(),以及输出格式化字符串printf(), sprintf()和snprintf()。注意snprintf()是C99标准定义的函数,有些老的编译器不支持。

    <stdlib.h> - 定义了字符串转换成数字的函数如atof(), atoi(),以及内存分配和释放的函数malloc(), calloc()等。

    <string.h> - 定义了字符数组的操作,如strcpy(),strcmp()等。还有内存复制的操作如memcpy(),memmove()等。

    还有一些不太常用的头文件,比如<float.h> <limits.h> <setjmp.h> <signal.h> <stddef.h> <locale.h> <time.h>.

    相关文章

      网友评论

          本文标题:C标准库

          本文链接:https://www.haomeiwen.com/subject/mxdahftx.html