引入
OS操作系统
打开文件fopen()函数
读写模式:
r:读取已有文件
w:文件不存在,创建文件并写入文件.文件存在,内容清零,再写入文件
a: 文件不存在,创建文件并写入文件.文件存在,以追加的形式写入文件
r+:读写已有文件
w+:文件不存在,创建文件并读写文件.文件存在,内容清零,再读写文件
a+:文件不存在,创建文件并读写文件.文件存在,以追加的形式写文件,从头开始读文件
总结:
1)
r,r+已有文件
w,w+,a,a+:已有文件+创建文件
2)如果是二进制文件,要在后面加一个b
3)以w,w+模式会将文件清空
关闭文件fclose()函数
关闭成功,返回0
关闭失败,返回EOF
总结:
1)
EOF:C标准函数库中表示文件结束符(end of file)
在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。
2)如果不关闭文件,我们的内容就没有保存在文件中
写入文件的函数
输出流
fputc()写入一个字符,成功:返回写入的字符,失败:返回EOF
fputs()写入一个字符串,成功:返回一个非负值,失败:EOF
fprintf()写入一个字符串, 成功:返回写入的字符的个数,失败:返回负数
案例
库变量:
FILE:一个适合存储文件流信息的对象类型
代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//写入文件--fputc(),fputs(),fprintf()
int main()
{
printf("1.创建文件空指针\n");
FILE *fp=NULL;
printf("2.创建一个文件\n");
/*d:/
与平时的转义字符\相反
*/
fp=fopen("d:/AAADQLearning/test_file.txt","a");
//w写入文件,存在,清零;不存在,创建
//a写入文件,存在,追加;不存在,创建
printf("3.fputc写入一个字符a\n");
char rc=fputc('m',fp);//成功,返回写入的字符,失败,返回EOF
fputc('\n',fp);
printf("4.fputs写入一个字符串\n");
int rs=fputs("dq,as a result\n",fp);//成功,返回0,失败返回EOF
printf(