FILE * fopen ( const char * filename, const char * mode );
功能:以指定格式打开文件
参数 | 解析 |
filename | 文件名 |
mode | 以指定格式打开文件 |
返回值:FILE指针,打开失败返回NULL |
mode的参数:
文件使用方法 | 含义 | 如果指定文件不存在 |
r | 只读 | 以读模式打开已经存在文本文件 |
w | 只写 | 以写模式打开文本文件, |
a | 追加 | 以写模式打开文件,向现有文本文件尾添加数据 |
rb | 只读 | 为了输入数据,打开一个二进制文件 |
wb | 只写 | 为了输出数据,打开一个二进制文件 |
ab | 追加 | 向一个二进制文件尾添加数据 |
r+ | 读写 | 为了读和写,打开一个文本文件 |
w+ | 读写 | 为了读和写 |
a+ | 读写 | 打开一个文件,在文件尾进行读写 |
int fclose ( FILE * stream );
**功能:**关闭文件
返回值:如果流成功关闭,则返回零值。失败时,返回EOF(-1)。
int feof ( FILE * stream );
**功能:**检测文件指针是否到达文件末端
参数 | 解析 |
stream | 文件指针 |
**返回值 :**检测文件指针到文件末端时,会返回非零值,未到文件末端时返回0 |
void exit (int status);
功能: 关闭所有打开的文件并结束程序
status | 解析 |
0或者 EXIT_SUCCESS | 表示程序结束正常 |
1或者EXIT_FAILURE | 表示结束程序失败 |
int fseek ( FILE * stream, long int offset, int origin );
**功能:**重新定位文件指针的位置
**例如:**fseek(fp, 0L, SEEK_END); //定位在文件末尾(以文件末尾为基准偏移0个单位)文件起始点模式
参数 | 解析 |
stream | 文件指针 |
offset | 偏移量 |
origin | 定位指针的位置 |
origin参数
origin | 偏移量的起始点 |
SEEK_SET | 文件开始处 |
SEEK_CUR | 当前位置 |
SEEK_END | 文件末尾 |
**返回值:如果成功,该函数返回零。否则,它返回非零值。如果发生读取或写入错误,则会设置错误指示符( ferror )。
由于这些函数较为简单这里做了一个表格
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
功能: 二进制输入
从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。
参数 | 解析 |
ptr | 这是指向带有最小尺寸 size*count字节的内存块的指针。 |
size | 这是要读取的每个元素的大小,以字节为单位。 |
count | 这是元素的个数,每个元素的大小为 size 字节。 |
stream | 文件指针。 |
**返回值:**返回成功读取的元素总数。 |
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
功能: 二进制输出
从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。
参数 | 解析 |
ptr | 这是指向带有最小尺寸 size*count字节的内存块的指针。 |
size | 这是要读取的每个元素的大小,以字节为单位。 |
count | 这是元素的个数,每个元素的大小为 size 字节。 |
stream | 文件指针。 |
**返回值:**返回成功写入的元素总数。 |
void rewind ( FILE * stream );
**功能:**文件指针回到文件开始处
long int ftell ( FILE * stream );
功能: 获得文件指针当前位置相对于文件首的字节数
返回值: 该函数返回位置标识符的当前值。如果发生错误,则返回 -1L,全局变量 errno 被设置为一个正值。