文件读写是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

 

分类: 计算机

Reason

在漫漫梦路上踽踽独行的人……

0 条评论

发表回复

Avatar placeholder