优秀的编程知识分享平台

网站首页 > 技术文章 正文

C语言学习:写一个文件的实例,详解(收藏)

nanyue 2024-09-27 12:48:08 技术文章 7 ℃

前几篇文章,我们已经把C语言文件的操作知识讲完了,是不是还是很迷茫,别急。

今天的文件实例你看了之后,就是这么简单,C语言的文件操作,前几天种的花就在今天开了。

如果对文件知识不太了解的可以查看我的前面几篇文章。

文件实例要求:

1.建立一个文件用于接受我们输入的信息,需要独立的文件读取函数与写入函数。

2.通过键盘输入一句话存进文件:C语言是世界上最好的语言。

3.通过读取函数把我们写入的话打印在屏幕上。

说明:本这以简单易懂的思路,以前的代码从简,让更多的人明白。

代码加注释,非常清楚:

#include<stdio.h>

#include<stdlib.h>

int main()

{

FILE *fp;char str[20];/*声明文件指针和字符串*/

printf("这是一个超级简单的文件实例,你准备好了吗?\n");

printf("******************************************\n");

printf("请输入语句后回车:\n");

scanf("%s",str);

/*写入这句话之前,我们需要建立一个文件,并且需要判空,这是一个固定的格式*/

if((fp=fopen("E:\\dracula.txt","w"))==NULL)/*建立了一个文件在E盘叫dracula.txt,可以在E盘查看*/

{

printf("哇,竟然没有找到这个文件\n");

exit(0);/*如果没有这个文件退程序*/

}

fputs(str,fp);

/*因为我们输入的仅仅是一句话,所以用字符串写入函数fputs*/

fclose(fp);/*文件写入后要关闭,固定格式*/

printf("******************************************\n");

printf("已存入文件dracula.txt中,可以在E盘查看\n");

printf("******************************************\n");

printf("现在显示的是你刚才在存在E盘文件中的内容:\n");

if((fp=fopen("E:\\dracula.txt","r"))==NULL)/*以只读的方式打开文件*/

{

printf("打开错误!");

exit(0);/*打开文件错误后退出程序*/

}

fscanf(fp,"%s\n",str);

/*以格式化的读取文件中的str字符串*/

printf("%s\n",str);/*打印字符串*/

fclose(fp);/*关闭文件*/

printf("******************************************\n");

printf("好了,今天的文件小实例ok了\n");

return 0;

}

运行结果:

运行结果

E盘建立的dracula.txt文件

存入文件的内容

文件补充说明:格式化读取写入函数fscanf与fprintf

在上面我们在代码中用格式化读取函数fscanf,现在补充说明一下,以前忘记说了。

fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件。

这两个函数的原型为:

int fscanf ( FILE *fp, char * format, ... ); int fprintf ( FILE *fp, char * format, ... );

fp 为文件指针,format 为格式控制字符串,... 表示参数列表。与 scanf() 和 printf() 相比,它们仅仅多了一个 fp 参数。

例如:

FILE *fp; int i, j; char *str, ch;

fscanf(fp, "%d %s", &i, str);

fprintf(fp,"%d %c", j, ch);

fprintf() 返回成功写入的字符的个数,失败则返回负数。fscanf() 返回参数列表中被成功赋值的参数个数。

欢迎订阅点赞,谢谢!

Tags:

最近发表
标签列表