网站首页 > 技术文章 正文
前几篇文章,我们已经把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() 返回参数列表中被成功赋值的参数个数。
欢迎订阅点赞,谢谢!
猜你喜欢
- 2024-09-27 分享一段神奇的小代码:那天是周几啊
- 2024-09-27 C语言备忘录 - 18. 文件基础(c语言备份文件)
- 2024-09-27 线性表顺序存储结构求集合的并,交,补,差(源代码附上 超详细)
- 2024-09-27 如何轻松使用 C 语言实现一个栈?(c语言如何建立一个栈)
- 2024-09-27 C语言学习过程代码记录(c语言代码例子)
- 2024-09-27 输出随机数字:C之法(c语言怎么随机输出字母)
- 2024-09-27 C++头文件和std命名空间(精辟)(c++头文件类型)
- 2024-09-27 【C高手秘籍】在处理复杂数据结构时,如何提高代码的运行效率?
- 2024-09-27 【C语言】(25)文件包含(c语言中,文件由什么组成)
- 2024-09-27 简单的加密文本手段,c语言新手也会
- 1516℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 582℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 518℃MySQL service启动脚本浅析(r12笔记第59天)
- 488℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 487℃启用MySQL查询缓存(mysql8.0查询缓存)
- 473℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 453℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 452℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)