这里我利用的是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);
//}
总结:文件的读写的方法还有很多,希望文章对你们有所帮助,如有不足或疑惑欢迎评论区怕评论。