文章目录
FILE结构体
- 文件的有关信息(文件名/文件位置/文件状态)被保存在一个结构体变量中,取名为FILE
- 一般定义一个FILE指针,指向fopen函数打开的文件,接下来就可以访问这个文件了
打开文件fopen
FILE* fopen(文件名,使用文件方式)
//使用文件方式 r只读|w只写
关闭文件 fclose
void fclose(FILE *fp);
向文件读写单个字符 fputc、fgetc、feof
char fgetc(File *fp); //从文件获取单个字符
char fputc(char ch, File *fp); //写入文件单个字符
int feof(fp); //fp文件标志达到末尾返回1,否则返回0
向文件中读写一个字符串
char* fgets(char *str, int n, FILE *fp); //从文件p中,读n-1个字符(遇到'\n'或者EOF提前结束),放入str中,str末尾加'\0',成功返回地址str,失败返回NULL
int fputs(char *str, FILE *fp); //把str所指向的字符串写到fp所指文件中,成功返回0,失败返回一个非零值
读写二进制文件fread、fwrite
size_t fread(void *ptr, size_t size, size_t nmemb, FILE* fp);
/*ptr:读出数据放到的内存空间,
size:每条记录的长度(字节数),
nmemb: 读多少条记录
fp:文件指针
返回值:失败返回0,成功返回读入记录数*/
size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE* fp);
/*ptr:这些记录所在的内存空间
size:每条记录的长度(字节数),
nmemb: 写多少条记录
fp:文件指针
返回值:失败返回0,成功返回写入记录数
*/
fflush 清空文件缓存