int main()
{
FILE* f;
f = fopen("D:file.txt", "r+");
if (f == NULL)
{
printf("文件打开失败\n");
}
//operation
fclose(f);
return 0;
}
fopen打开目标文件
//operation
对目标文件进行操作:例如fprintf,fscanf,fread,fwrite...函数可以对文件进行读写等操作
fclose关闭目标文件
feof函数用于检测文件是否到结尾 文件结束返回真值,文件未结束返回0
打开文件函数:fopen;
函数原型:fopen(char const* _FileName,char const* _Mode);
FileName为目标文件的地址D:file.txt"
Mode为文件对应的打开方式
r?? ?模式? ? ? ? 读? ? ? ? 对目标文件从文件的开头进行读取,如果文件不存在,则fopen函数返回空指针
r+? 模式? ? ? ?读写? ? ?r+与r模式对比r+模式可以对文件进行写入,前提仍然是文件需要存在。
w? ?模式? ? ? ?写? ? ? ? ?对目标文件从文件的开头进行写入,如果文件不存在,会创建一个文件并写入目标内容,如果文件存在,会对原内容进行覆盖。
w+? 模式? ? ?读写? ? ? ?对目标文件从文件的开头进行写入,如果文件不存在,会创建一个文件并写入目标内容,如果文件存在,会对原内容进行覆盖。
a? 模式? ? ? ?写? ? ? ? ? ? 对目标文件从文件的末尾进行写入,如果文件不存在,会创建一个文件并写入目标内容。
a+?模式? ? ? ?读写? ? ? ? 对目标文件从文件的末尾进行写入,如果文件不存在,会创建一个文件并写入目标内容。
在对应的模式后面加上b就是对二进制文件进行操作。
格式化的方式读取,遇到空格或换行就结束,再将读取的文件写入到文件中,优点是可以指定写入的文件格式
函数原型:
fprintf(file,"operation");
fscanf(file,"operation");
file是已经打开的文件,operation为需要格式化读取的内容。
示例:向file文件中写入“hello”
int main()
{
FILE* f;
f = fopen("D:\\file.txt", "w+");
if (f == NULL)
{
printf("文件打开失败\n");
}
//operation
fprintf(f,"%s","hello world");
fclose(f);
return 0;
}
同理也可以从file中读取hello world
提示:fscanf为格式化读取函数,遇到空格或者回车 自动结束读取
函数原型:
fwrite(buff,size,count,file);
fread(buff,size,count,file);
buff 为需要写入的内容
buff为需要存入的目标
size 为buff基类型的大小
count为需要存入的数目
size *count 为一次读取的字节数
file为目标文件
读写函数通常是结合使用,例如puts,fgets..等读写函数