C语言编程学习:写一个文件的实例详解

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

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

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

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

文件实例要求:

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

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

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

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

代码加注释,非常清楚:

#include

#include

int main()

{

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

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

printf("****************************************** ");

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

scanf("%s",str);

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

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

{

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

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

}

fputs(str,fp);

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

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

printf("****************************************** ");

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

printf("****************************************** ");

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

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

{

printf("打开错误!");

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

}

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

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

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

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

printf("****************************************** ");

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

return 0;

}

运行结果:

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

运行结果

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 参数。

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

例如:

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

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

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

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

推荐阅读更多精彩内容