功能:以指定格式打开文件
| 参数 | 解析 |
|---|---|
| filename | 文件名 |
| mode | 以指定格式打开文件 |
| 返回值:FILE指针,打开失败返回NULL |
mode的参数:
| 文件使用方法 | 含义 | 如果指定文件不存在 |
|---|---|---|
| r | 只读 | 以读模式打开已经存在文本文件 |
| w | 只写 | 以写模式打开文本文件, |
| a | 追加 | 以写模式打开文件,向现有文本文件尾添加数据 |
| rb | 只读 | 为了输入数据,打开一个二进制文件 |
| wb | 只写 | 为了输出数据,打开一个二进制文件 |
| ab | 追加 | 向一个二进制文件尾添加数据 |
| r+ | 读写 | 为了读和写,打开一个文本文件 |
| w+ | 读写 | 为了读和写 |
| a+ | 读写 | 打开一个文件,在文件尾进行读写 |
**功能:**关闭文件
返回值:如果流成功关闭,则返回零值。失败时,返回EOF(-1)。
**功能:**检测文件指针是否到达文件末端
| 参数 | 解析 |
|---|---|
| stream | 文件指针 |
| **返回值 :**检测文件指针到文件末端时,会返回非零值,未到文件末端时返回0 |
功能: 关闭所有打开的文件并结束程序
| status | 解析 |
|---|---|
| 0或者 EXIT_SUCCESS | 表示程序结束正常 |
| 1或者EXIT_FAILURE | 表示结束程序失败 |
**功能:**重新定位文件指针的位置
**例如:**fseek(fp, 0L, SEEK_END); //定位在文件末尾(以文件末尾为基准偏移0个单位)文件起始点模式
| 参数 | 解析 |
|---|---|
| stream | 文件指针 |
| offset | 偏移量 |
| origin | 定位指针的位置 |
origin参数
| origin | 偏移量的起始点 |
|---|---|
| SEEK_SET | 文件开始处 |
| SEEK_CUR | 当前位置 |
| SEEK_END | 文件末尾 |
**返回值:如果成功,该函数返回零。否则,它返回非零值。如果发生读取或写入错误,则会设置错误指示符( ferror )。
| 功能 | 函数原型 | 作用 | 返回值 |
|---|---|---|---|
| 字符输入函数 | int fgetc( FILE * stream) | 返回文件指针所指向的字符,然后文件指针向后偏移 | 成功时,返回读取的字符(提升为int值)。 |
| 字符输出函数 | int fputc ( int character, FILE * stream ); | 将这个字符写入到文件指针所指向的位置,然后文件指针向后偏移 | 成功时,返回写入的字符。如果发生写入错误,则返回EOF并设置错误指示符(ferror)。 |
| 文本行输入函数 | char * fgets ( char * str, int num, FILE * stream ); | 从文件指针开始向str字符串中拷贝num个字符,并返回这段字符。(如遇到文件尾则立刻停止) | 成功时,该函数返回str。 |
| 文本行输出函数 | int fputs ( const char * str, FILE * stream ); | 向文件中写入一个str字符串 | 成功写入文件指针向后偏移写入失败返回EOF 成功时,返回一个非负值。出错时,该函数返回EOF并设置错误指示符( ferror )。 |
| 格式化输入函数 | int fscanf(FILE *stream, const char *format, …) | 从文件指针开始按照指定格式给变量赋值,然后文件指针向后偏移 | 成功时,该函数返回成功填充的参数列表的项目数。 |
| 格式化输出函数 | int fprintf(FILE *stream, const char *format, …) | 向文件中写入指定格式的数据 | 成功时,返回写入的字符总数 |
功能: 二进制输入
从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。
| 参数 | 解析 |
|---|---|
| ptr | 这是指向带有最小尺寸 size*count字节的内存块的指针。 |
| size | 这是要读取的每个元素的大小,以字节为单位。 |
| count | 这是元素的个数,每个元素的大小为 size 字节。 |
| stream | 文件指针。 |
| **返回值:**返回成功读取的元素总数。 |
功能: 二进制输出
从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。
| 参数 | 解析 |
|---|---|
| ptr | 这是指向带有最小尺寸 size*count字节的内存块的指针。 |
| size | 这是要读取的每个元素的大小,以字节为单位。 |
| count | 这是元素的个数,每个元素的大小为 size 字节。 |
| stream | 文件指针。 |
| **返回值:**返回成功写入的元素总数。 |
**功能:**文件指针回到文件开始处
功能: 获得文件指针当前位置相对于文件首的字节数
返回值: 该函数返回位置标识符的当前值。如果发生错误,则返回 -1L,全局变量 errno 被设置为一个正值。