我做了一项研究,在很多地方都提到了使用 fgets()。好的,但是我需要设置要读取的字节数限制,而且我无法确定我的行不会超过我设置的限制。我是对的,还有其他解决方案吗?
我唯一的另一个想法是使用 fgetc() 但必须有更好的解决方案......
从手册:
length - 1
当读取字节、换行符(包含在返回值中)或 EOF(以先到者为准)时,读取结束。如果没有指定长度,它将继续从流中读取,直到到达行尾。
在大文件上使用 fgetc 函数绝对不是一个好主意 a)它会更慢 b)你应该手动处理所有事情,这会导致错误(例如不同的行结尾)
至于原始任务,有时值得将您的输入转换为另一种格式,这有利于快速阅读。例如,如果可能,拆分超长的行。