讲解常见文件操作函数
fopen
cpp
FILE* fp = fopen(char const* _FileName,char const* _Mode)
第一个参数:文件名,字符串表示
第二个参数:文件打开模式3种
1.rb(read birary):读文件。如果文件名的文件不存在,返回NULL
2.wb(write birary):写文件。如果文件名的文件不存在,创建新文件;如果文件名的文件存在,覆盖这个文件。
3.ab(append birary):追加文件。如果文件名的文件不存在,创建新文件;如果文件名的文件存在,什么都不发生。
函数返回值:文件句柄
cpp
#include <stdio.h>
mian()
{
FILE* fp = fopen("wenjian1","wb");
if(fp==NULL)
{
printf("文件打开失败\n");
return -1;
}
printf("文件打开成功\n");
return 0;
}
fclose
cpp
fclose(fp);
int fclose(FILE* _Stream);
第一个参数:文件名
操作文件后需要关闭文件,系统会默认关闭文件。
fwrite
cpp
size_t fwrite(void const*------Buffer,size_t ElementSize,size_t _ElementCount,FILE* _Stream);
第一个参数:写入的数据
第二个参数:写入的大小
第三个参数:写入次数
第四个参数:写到哪个文件里(文件以wb打开)
返回值:写入成功的次数,和第三个参数相关。
cpp
fwrite("123456",3,1,fp);
用vs方式打开
文件内显示123
就是我们将空白文件写入了123
cpp
fwrite("123456",3,2,fp);
写入的不是123123而是123456,写入次数指的是按照3这个大小从写入的数据里取几次。
fread
cpp
size_t fread(void*_Buffer,size_t ElementSize,size_t _ElementCount,FILE* _Stream);
第一个参数:读出的数据
第二个参数:读出的大小
第三个参数:读出次数
第四个参数:读哪个文件里(文件以wb打开)
返回值:读出成功的次数,和第三个参数相关。
cpp
int x;
int ret = fread(&x,1,sizef(x),fp);
printf("x:%d ret:%d\n",x,ret);
x:123 ret:4
fp文件我们写入了123,ret表示返回值我们成功读了四次。
rewind
cpp
rewind(fp);
第一个参数:文件名。
清除标准输入的按键缓冲区。