这里我利用的是fopen()函数进行操作的,个人认为运用比较简单。
fopen函数是打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式);
文件名一般都是路径加上文件名
文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 只读
w(write): 只写
a(append): 追加
t(text): 文本文件,可省略不写
b(binary): 二进制文件
+: 读和写
2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
3) 用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。
4) 若要向一个已存在的文件追加新的信息,用“a”方式打开文件。如果指定文件不存在则尝试创建该文件。
5) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。
#include<stdio.h>int sum; char a[10];void read_file()//读文件的数据 {FILE *fp;fp=fopen("data.txt","r");//第一个 "" 里面是文件路径和文件名,第二个 "" 是执行相应的权限操作 fscanf(fp,"%s %d",&a,&sum);//这一条语句和 feof函数的特点有关,当指针的 fp走到文件末尾时返回值任然是非空,会导致最后一行数据多输出//对上面有兴趣的,可以换成我注释了的函数,就在下面 while(!feof(fp))//当文件为空时结束 { printf("%s %d\n",a,sum);//将文件的数据赋值给 a 和 sum 变量,然后在进行输出 fscanf(fp,"%s %d",&a,&sum);}fclose(fp);//关闭文件 }void write_file()//将数据追加写入文件中 {FILE *FP;FP=fopen("data.txt","a") ;//在原有的文件上追加数据 scanf("%s %d",&a,&sum);//输入数据 fprintf(FP,"%s %d\n",a,sum); //将数据存入文件中 fclose(FP);}int main(){int n;while(~scanf("%d",&n)){if(n==1)//读文件数据 read_file();else if(n==2) // 将数据写入文件 write_file();}} //void read_file()//读文件的数据 //{//FILE *fp;//fp=fopen("data.txt","r");//while(!feof(fp))//{ //fscanf(fp,"%s %d",&a,&sum);//printf("%s %d\n",a,sum);//}//fclose(fp);//}
总结:文件的读写的方法还有很多,希望文章对你们有所帮助,如有不足或疑惑欢迎评论区怕评论。