- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C标准函数库
下载吧,值得收藏
本文包括大部分C标准库函数,但没有列出一些用途有限的函数以及某些可以简单的从其他函数合成的函数,也没有包含多字节和本地化函数。
标准库中的各个函数、类型以及宏分别在以下标准头文件中说明:
assert.h float.h math.h stdarg.h stdlib.h ctype.h limits.h setjmp.h stddef.h string.h errno.h locale.h signal.h stdio.h time.h ?
1 输入与输出stdio.h
头文件stdio.h定义了用于输入和输出的函数、类型和宏。最重要的类型是用于声明文件指针的FILE。另外两个常用的类型是size_t和fpos_t,size_t是由运算符sizeof产生的无符号整类型;fpos_t类型定义能够唯一说明文件中的每个位置的对象。由头部定义的最有用的宏是EOF,其值代表文件的结尾。
1.1 文件操作
1.1.1 fopen
#include stdio.h
FILE *fopen(const char *filename, const char *mode);
返回:成功为FILE指针,失败为NULL
打开以filename所指内容为名字的文件,返回与之关联的流。
mode决定打开的方式,可选值如下:
r 打开文本文件用于读 w 创建文本文件用于写,并删除已存在的内容(如果有的话) a 添加;打开或创建文本文件用于在文件末尾写 rb 打开二进制文件用于读 wb 创建二进制文件用于写,并删除已存在的内容(如果有的话) ab 添加;打开或创建二进制文件用于在文件末尾写 r+ 打开文本文件用于更新(即读和写) w+ 创建文本文件用于更新,并删除已存在的内容(如果有的话) a+ 添加;打开或创建文本文件用于更新和在文件末尾写 rb+或r+b 打开二进制文件用于更新(即读和写) wb+或w+b 创建二进制文件用于更新,并删除已存在的内容(如果有的话) ab+或a+b 添加;打开或创建二进制文件用于更新和在文件末尾写 后六种方式允许对同一文件进行读和写,要注意的是,在写操作和读操作的交替过程中,必须调用fflush()或文件定位函数如fseek()、fsetpos()、rewind()等。
文件名filename的长度最大为FILENAME_MAX个字符,一次最多可打开FOPEN_MAX个文件(在stdio.h中定义)。
?
1.1.2 freopen
#include stdio.h
FILE *freopen(const char *filename, const char *mode, FILE *stream);
返回:成功为stream,失败为NULL
以mode指定的方式打开文件filename,并使该文件与流stream相关联。freopen()先尝试关闭与stream关联的文件,不管成功与否,都继续打开新文件。
该函数的主要用途是把系统定义的标准流stdin、stdout、stderr重定向到其他文件。
?
1.1.3 fflush
#include stdio.h
int fflush(FILE *stream);
返回:成功为0,失败返回EOF
对输出流(写打开),fflush()用于将已写到缓冲区但尚未写出的全部数据都写到文件中;对输入流,其结果未定义。如果写过程中发生错误则返回EOF,正常则返回0。
fflush(NULL)用于刷新所有的输出流。
程序正常结束或缓冲区满时,缓冲区自动清仓。
?
1.1.4 fclose
#include stdio.h
int flcose(FILE *stream);
返回:成功为0,失败返回EOF
刷新stream的全部未写出数据,丢弃任何未读的缓冲区内的输入数据并释放自动分配的缓冲区,最后关闭流。
?
1.1.5 remove
#include stdio.h
int remove(const char *filename);
返回:成功为0,失败为非0值
删除文件filename。
?
1.1.6 rename
#include stdio.h
int rename(const char *oldfname, const char *newfname);
返回:成功为0,失败为非0值
把文件的名字从oldfname改为newfname。
?
1.1.7 tmpfile
#include stdio.h
FILE *tmpfile(void);
返回:成功为流指针,失败为NULL
以方式wb+创建一个临时文件,并返回该流的指针,该文件在被关闭或程序正常结束时被自动删除。
?
1.1.8 tmpnam
#include s
文档评论(0)