社区
C++ 语言
帖子详情
请问fread, fscanf,fgets的区别
luckdog01
2006-06-02 02:12:29
请问,
1. 为什么fread对应2进制的打开方式,fscanf对应文本打开方式呢
2. fgets又用在什么场合,有什么不同么?
...全文
1966
9
打赏
收藏
请问fread, fscanf,fgets的区别
请问, 1. 为什么fread对应2进制的打开方式,fscanf对应文本打开方式呢 2. fgets又用在什么场合,有什么不同么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wang37921
2010-06-25
打赏
举报
回复
mark3,15楼~
eplanet
2006-06-15
打赏
举报
回复
请问,
1. 为什么fread对应2进制的打开方式,fscanf对应文本打开方式呢
2. fgets又用在什么场合,有什么不同么?
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止.
fscanf :格式化读取,按照指定的格式串进行读取数据,并将数据初始化为指定的格式.所以在文本方式下才能有效的判断数据内容.
fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用.
其实文本和二进制的差别就在于读取的数据,文本方式会默认为是ASCII码,二进制方式则原样将数据读出.所以文本时候的格式控制如回车,制表符等,二进制的时候是不能有效的自动判断的。
他们的效率要看具体的程序和算法的,否则差别并不会很大.其中fread 最快.因为可以指定读取长度.能够有效的减少I/O操作,硬盘读取才是文件操作最耗时的部分.
luckdog01
2006-06-15
打赏
举报
回复
up....
luckdog01
2006-06-06
打赏
举报
回复
up一下 还有更其他的答案么?
luckdog01
2006-06-03
打赏
举报
回复
fread将缓冲区内容当作二进制数据形式来处理
fscanf,fgets将缓冲区内容当作文本形式来处理
——————————————————————————
这是不是说如果2进制用fread,文本用fscanf,fgets效率会高一点?
lddLinan
2006-06-02
打赏
举报
回复
fread,fscanf,fgets都是通过缓冲区来间接操作文件,在缓冲区和文件之间会有一些调整。
fread将缓冲区内容当作二进制数据形式来处理
fscanf,fgets将缓冲区内容当作文本形式来处理,所以和打开方式会有一定的关联。
jixingzhong
2006-06-02
打赏
举报
回复
其实倒没有绝对的说fread对应2进制的打开方式,fscanf对应文本打开方式,
但是一般都这么做,
如果非要 fread 文本文件也可以,
但是一般会出错,
因为文本一般都是 fscanf 产生的。
也有可能会正确,
就是这个文本是 fwrite 产生的 ..
所以,
其实只要是 fwrite 对应了 fread
fscanf 对应了 fprintf
fgets 对应 fputs
就可以了 ...
当然,
建议楼主还是 使用一般的规则:
fread对应2进制的打开方式,fscanf对应文本打开方式
herman~~
2006-06-02
打赏
举报
回复
自己查查MSDN吧
nobush
2006-06-02
打赏
举报
回复
沒有對應2进制、文本打开方式一說。
fgets读取一个长度为(n-1)的字符串;
fread按照指定的长度單位读取数据项;(區別在於單位可以不是字符)
fscanf按指定格式讀,與scanf類似
fgetc fputc
fgets
fputs
fscanf
fprintf
fread
fwrite文件操作函数使用例程代码
fgetc fputc
fgets
fputs
fscanf
fprintf
fread
fwrite文件操作函数使用例程代码,在日常应用中,我们为了持续的使用一些数据,为了让数据可以在程序退出后可以保存并正常使用,引入了文件的概念和操作。下面是这些函数的功能简介,具体使用方法在压缩包中,每一个例程都在main中,大家可以根据需求自行调用使用,如有疑问,欢迎与我交流。 fgetc 所有输入流 字符输出函数 ******************** fputc 所有输出流 文本行输入函数 *********************
fgets
所有输入流 文本行输出函数 ********************** fputs 所有输出流 格式化输入函数 *********************
fscanf
所有输入流 格式化输出函数 ******************** fprintf 所有输出流 二进制输入 *********************
fread
二进制文件 二进制输出 *************** fwrite 二进制文件
C语言中
fgets
和
fscanf
区别
详解
主要介绍了C语言中
fgets
和
fscanf
区别
详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
127.
fread
和 fwrite.pdf
127.
fread
和 fwrite
在C语言中,文件读写操作主要通过标准I/O库中的函数来完成 这些函数包括fopen(), fclose(),
fread
(),
c语言文件读写操作代码在C语言中,文件读写操作主要通过标准I/O库中的函数来完成。这些函数包括fopen(), fclose(),
fread
(), fwrite(), fprintf(),
fscanf
(),
fgets
(), fputs()等。下面,我将给出几个基本的文件读写操作的示例代码。 示例1:写入文件 c #include
int main() { FILE *fp; char str[] = "Hello, World! This is a test.\n"; // 打开文件用于写入。如果文件不存在,则创建它。 fp = fopen("example.txt", "w"); if (fp == NULL) { perror("Error opening file"); return(-1); } // 写入字符串到文件 fputs(str, fp); // 关闭文件
C语言文件读写操作详解与代码示例
内容概要:本文介绍了 C 语言中常用的文件读写方法,包括文本文件和二进制文件的操作。首先,讲解了如何使用 fprintf 和 fclose 进行文件写入;接着,展示了如何利用
fscanf
和
fgets
逐词或逐行读取文件内容;最后,介绍了使用 fwrite 和
fread
函数对二进制文件进行读写的具体步骤。 适合人群:具有一定 C 语言基础的学习者和开发者。 使用场景及目标:适用于需要处理文件读写的项目,帮助开发者掌握 C 语言文件操作的基础技巧,提高编程效率和代码质量。 阅读建议:结合示例代码动手实践,理解每种文件操作的适用场景和实现细节,遇到问题及时查阅官方文档或参考资料。
C++ 语言
65,190
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章