C语言中常用的标准库函数
(2011-03-17 09:00:43)
转载
标签:
c语言
字符串
输入输出
整数
杂谈标准头文件包括:
????? ?????? ?????? ??
????? ?????? ??????? ?
???? ????? ?????
????? ???????
?
一、标准定义()
??? 文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来。
??? 这个文件里定义:
? l??? 类型size_t?? (sizeof运算符的结果类型,是某个无符号整型);
? l??? 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);
? l??? 类型wchar_t? (宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的
???????????????????????? 字符集的所有编码值。这里还保证空字符的编码值为0);
?????? l??? 符号常量NULL? (空指针值);
? l??? 宏offsetor?? (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构
???????????????????????? 成员名。offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。
?? 注:其中有些定义也出现在其他头文件里(如NULL)。
?
二、错误信息()??????? 定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。???? 里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参数错误,就会将errno置为EDOM,如出现值域错误就会将errno置为ERANGE。
三、输入输出函数()文件打开和关闭:
????? FILE *fopen(const char *filename, const char *mode);
????? int fclose(FILE * stream);
字符输入输出:
????? int fgetc(FILE *fp);
????? int fputc(int c, FILE *fp);
? getc和putc与这两个函数类似,但通过宏定义实现。通常有下面定义:
????? #define getchar()? getc(stdin)
????? #define putchar(c) putc(c, stdout)
????? int ungetc(int c, FILE* stream);把字符 c 退回流 stream
格式化输入输出:
????? int scanf(const char *format, ...);
????? int printf(const char *format, ...);
????? int fscanf(FILE *stream, const char *format, ...);
????? int fprintf(FILE *stream, const char *format, ...);
????? int sscanf(char *s, const char *format, ...);
????? int sprintf(char *s, const char *format, ...);
行式输入输出:
????? char *fgets(char *buffer, int n, FILE *stream);
????? int fputs(const char *buffer, FILE *stream);
????? char *gets(char *s);
????? int puts(const char *s);
直接输入输出:
????? size_t fread(void *pointer, size_t size, size_t num, FILE *stream);
????? size_t fwrite(const void *pointer, size_t size, size_t num, FILE *stream);
?
四、数学函数(