c语言中的fscanf是啥意思,详解C语言中fgets和fscanf区别
fscanf函数是C语言的文件格式读取函数的方法之一,它使用空格、制表符和回车来分割不同的单词,这样可以让我们使用起来更方便,下面就让爱站技术频道小编带你来学习详解C语言中fgets和fscanf区别吧!
详解C语言中fgets和fscanf区别
一、作用上的大概区别:
①fgets:从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往缓冲区写多一个\0,所以它是读一行数据)
②fscanf:从文件中读取一段数据存入缓冲区(fscanf遇到空格或回车就结束,它会把空格或回车转换为\0,所以它是读一小段数据)
二、举个例子:把a.txt文件中的内容复制到b.txt。
a.txt中的内容(第一行中“我爱你小白”和“开玩笑”中间有个空格,每行的最后都有回车):
我爱你小白 开玩笑
哈哈
开玩笑
1、使用fgets读取a.txt文件并写入到b.txt的程序片段:
FILE *f1 = fopen("a.txt", "r");//只读方式打开a.txt,该文件必须存在
FILE *f2 = fopen("b.txt", "w");//以只写方式打开b.txt,该文件可以不存在
if (f1 == NULL)//如果文件不存在,直接结束
{
return 0;
}
char buf[1024] = { 0 };//缓冲区
while (!feof(f1))
{
memset(buf, 0, sizeof(buf));//清空缓冲区
fgets(buf, sizeof(buf), f1);//从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往缓冲区写多一个\0,所以它是读一行数据)
fputs(buf, f2);
}
fclose(f1);//注意最后关闭文件
fclose(f2);//注意最后关闭文件
运行结果:
2、使用fscanf读取a.txt文件并写入到b.txt的程序片段:
FILE *f1 = fopen("a.txt", "r");//只读方式打开a.txt
FILE *f2 = fopen("b.txt", "w");//以只写方式打开b.txt,该文件可以不存在
if (f1 == NULL)//如果文件不存在,直接结束
{
return 0;
}
char buf[1024] = { 0 };//缓冲区
while (!feof(f1))
{
memset(buf, 0, sizeof(buf));//清空缓冲区
fscanf(f1, "%s", buf);//从文件中读取一段数据存入缓冲区(fscanf遇到空格或回车就结束,它会把空格或回车转换为\0,所以它是读一小段数据)
fputs(buf, f2);
}
fclose(f1);//注意最后关闭文件
fclose(f2);//注意最后关闭文件
运行结果:
三、结论
1、fgets遇到“空格”就跟遇到平常的字符一样读取,遇到“回车”则结束本次读取,最后往缓冲区(char *buf[])的最后加多一个"\0"表示本次读取一行结束。
2、fscanf不论遇到“空格”还是“回车”,都当作'\0'读取到缓冲区中(char *buf[]),并结束本次读取。
上述就是爱站技术频道小编介绍的详解C语言中fgets和fscanf区别,大家了解清楚了吗?爱站技术频道将在各个频道分享各种经验,希望大家会喜欢。
c语言中的fscanf是啥意思,详解C语言中fgets和fscanf区别相关推荐
- python语言中with as的用法使用详解
本篇文章主要介绍了python语言中with as的用法使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 With语句是什么? 有一些任务,可能事先需要设置,事后做 ...
- c语言常量的正确表示const,C语言中的const和free用法详解
注意:C语言中的const和C++中的const是有区别的,而且在使用VS编译测试的时候.如果是C的话,请一定要建立一个后缀为C的文件,不要是CPP的文件.因为,两个编译器会有差别的. 一.C语言中的 ...
- php seekdir,C++_详解C语言中telldir()函数和seekdir()函数的用法,C语言telldir()函数:取得目录流 - phpStudy...
详解C语言中telldir()函数和seekdir()函数的用法 C语言telldir()函数:取得目录流的读取位置头文件: #include 定义函数: off_t telldir(DIR *dir ...
- c语言char数组和short数组的区别,详解C语言中Char型指针数组与字符数组的区别
详解C语言中Char型指针数组与字符数组的区别 详解C语言中Char型指针数组与字符数组的区别 1.char 类型的指针数组:每个元素都指向一个字符串,指向可以改变 char *name[3] = { ...
- c语言while函数作用,详解C语言中的while语句
什么是C语言的while语句?它的作用是什么呢?估计很多初学者对此都是一知半解.下面课课家笔者就为大家详细解释C语言中的while语句的含义和作用. 首先笔者先给大家介绍C语言中的共有的三大常用的程序 ...
- C语言中定义常量的关键字是什么,C++_详解C语言中const关键字的用法,关键字const用来定义常量,如 - phpStudy...
详解C语言中const关键字的用法 关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const ...
- c语言中sam的用法,samtoos用法详解.pdf
samtoos用法详解 冠 缠 井 缉 滩 赂 框 挎 韧 击 微 耀 镀 稚 惺 那 纤 芳 刚 叛 弓 拍 床 衣 倾 讳 熟 佣 嘻 吸 敷 还 失 馒 霜 磨 臻 塑 梦 坐 炮 要 鹅 妄 ...
- 详解C语言中sizeof的使用
目录 一.sizeof是什么? 二.sizeof的使用 三. 在字符串数组中sizeof与strlen的区别 四.总结 一.sizeof是什么? 在 C /C++语言中,sizeof() 是一个判断数 ...
- 在c语言中如何将char型变量转换为int型变量,详解C语言中的char数据类型及其与int类型的转换...
C语言中的char变量 char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed.虽然char在标准中是unsig ...
最新文章
- 汪卫华院士:无序中找有序 复杂中寻规律
- 服务器共享文件夹 关闭打开文件,dos命令net file图文教程,显示打开共享文件名关闭删除文件锁...
- 如何在设计时公开复合控件内的子控件
- mysql进入表格_mysql如何进入数据库查看所有表
- django-无刷新ajax请求的试验
- [GCJ] Qualification Round 2017
- UnityShader28:噪声纹理
- java JsonNode 遍历方式
- 万年历c语言程序微博,简易的万年历程序C语言
- 中文TTS文字转语言合成模块
- 深度学习教程(5) | 深度学习的实用层面(吴恩达·完整版)
- 各代iphone尺寸_iPhone每一代的屏幕尺寸比例是多少?
- TensorFlow 系列案例(2):自然语言处理-TensorFlow + Word2Vec
- 蓝牙sbc怎么解决_从指标看蓝牙A2DP编码(SBC,AAC,APTX)
- 【软件测试】POST请求包含哪些参数
- 小括号与花括号小括号与花括号
- 我的梦想就是不工作,有什么错?
- 基于HTML美中华传统文化题材网页项目的设计与实现 (纯HTML+CSS制作中国茶文化网站)
- A `Concatenate` layer requires inputs with matching shapes except for the concat axis.
- H5 捕鱼游戏搭建教程