fgets() 和 fread() - 有什么区别?
我了解 fgets()
之间的区别 和 fgetss()
但我不明白 之间的区别fgets()
和 fread()
,有人可以澄清一下这个主题吗?哪个更快?谢谢!
I understand the differences between fgets()
and fgetss()
but I don't get the difference between fgets()
and fread()
, can someone please clarify this subject? Which one is faster? Thanks!
推荐答案
fgets
读取一行——即它将在换行符处停止.
fgets
reads a line -- i.e. it will stop at a newline.
fread
读取原始数据——它将在指定的(或默认)字节数后停止,独立于可能存在或不存在的任何换行符.
fread
reads raw data -- it will stop after a specified (or default) number of bytes, independently of any newline that might or might not be present.
速度不是使用一个而不是另一个的理由,因为这两个功能只是不做同样的事情:
Speed is not a reason to use one over the other, as those two functions just don't do the same thing :
- 如果您想从文本文件中读取一行,请使用
fgets
- 如果您想从文件中读取一些数据(不一定是一行),请使用
fread
.
相关文章