打开文件
头文件
#include <stdio.h>
函数原型
FILE *fopen(const char *path, const char *mode);
FILE *fdopen(int fd, const char *mode);
FILE *freopen(const char *path, const char *mode, FILE *stream);
参数说明
path 要打开的文件名称
mode 可取的值
r 读形式打开一个文本文件,文件指针指向文件的开始位置
r+ 读和写形式打开文本文件,文件指针指向文件的开始位置
w 写形式清除或者新建文本,文件指针指向文件的开始位置
w+ 读和写形式打开文本文件,如果不存在则新建,存在则清空,文件指针指向开始位置
a 写形式向文件尾部添加数据打开文件,如果不存在则新建,文件指针指向文件的尾部
a+ 读和写向文件尾部添加数据打开文件,如果不存在则新建,文件指针指向文件的尾部
返回值为FILE类型指针,如果失败则返回NULL
函数线程安全,进程安全
读写文件
头文件
#include <stdio.h>
函数原型
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
参数说明
ptr 读取或写入的数据
size 每块的大小
nmemb 要读取或写入的块数量
stream 打开的文件指针
移动光标
头文件
#include <stdio.h>
函数原型
int fseek(FILE *stream, long offset, int whence);
参数说明
stream 文件描述符
offset 光标的偏移量
whence 可取的值
SEEK_SET 相对于文件起始位置
SEEK_CUR 相对于光标当前位置
SEEK_END 相对于文件结束位置
返回值
成功返回0,失败返回-1