文件读写是C语言中很重要的一个功能,但由于其对于初学者不友好,下面提供一种最全面且最无脑的文件读写方法。
1.首先,你需要申明一个指针
FILE *fp
这样,你才能开始进行文件操作。
2.打开文件
会用到fopen函数。
下面是一个例子:
FILE *fp;
if((fp=fopen("123.txt","r"))==NULL){
printf("cannot open file/n");
}
不难看出,如果返回“NULL”则为打开失败。
函数的使用格式是这样的:
fp=fopen("路径+文件全程","打开方式");
如果与源文件在同一目录下,则可以省略路径直接写文件全称。
打开方式则分为以下几种:
"r" 以只读方式打开文件
"w" 以只写方式打开文件
"a" 以追加方式打开文件
"r+" 以读/写方式打开文件,如无文件出错
"w+" 以读/写方式打开文件,如无文件生成新文件
3.读取文件
在这里,我们只介绍fscanf函数。
下面是一个例子:
FILE *fp;
int a;
fp=fopen("a.in","r");
fscanf(fp,"%d",&a);
printf("%d",a);
a.in中的文件最终会被打印出来。
由此可知,fscanf函数的格式是这样的:
fscanf(fp,"格式控制字符串",&变量名);
跟scanf函数的使用方法很像,不是吗?
同样的,以下变量类型都可以实现(只是两个举例子):
fscanf(fp,"%s",&a);
fscanf(fp,"%f",&a);
4.写入文件
在这里,我们只介绍fprintf函数。
下面是一个例子,内容紧跟“3.读取文件”中的第一个例子:
FILE *fp;
int a;
fp=fopen("a.in","r");
fscanf(fp,"%d",&a);
printf("%d",a);
fclose(fp);
fp=fopen("a.out","w");
fprintf(fp,"%d",a);
fclose(fp);
效果就是把“a.in”中的第一个整数输出到“a.out”文件中。
我们可以得到fprintf函数的格式:
fprintf(fp,"格式控制字符串",变量名);
只要会写“Hello World!”的人,相信理解起来都不会难。
又是触类旁通的时间:
fprintf(fp,"%s",a);
fprintf(fp,"%f",a);
5.关闭文件
这很简单,我们直接揭晓谜底:
fclose(fp);
用这么一个语句,就可以关闭我们打开的文件了。
6.其他函数
如果你追求更高水准,可以学习以下这些函数;
①feof()
检测是否已到文件尾,是返回真,否则返回0,其原型是int feof(FILE *stream);
例:if(feof(fp))printf("已到文件尾");
②ferror()
原型是int ferror(FILE *stream);返回流最近的错误代码,可用clearerr()来清除它,clearerr()的原型是void clearerr(FILE *stream);
例:printf("%d",ferror(fp));
③rewind()
把当前的读写位置回到文件开始,原型是void rewind(FILE *stream);其实本函数相当于fseek(fp,0L,SEEK_SET);
例:rewind(fp);
④remove()
删除文件,原型是int remove(const char *filename); 参数就是要删除的文件名,成功返回0。
例:remove("c://io.sys");
推荐阅读:
https://www.cnblogs.com/home123/p/8318903.html
https://blog.csdn.net/bebaas/article/details/589177
0 条评论