【发布时间】:2011-07-08 08:55:39
【问题描述】:
我需要阅读一行文本(以换行符结尾)而不对长度做出假设。所以我现在面临着各种可能性:
- 使用
fgets,每次检查最后一个字符是否为换行符并不断追加到缓冲区 - 使用
fgetc读取每个字符,偶尔使用realloc缓冲区
直觉告诉我fgetc 变体可能会更慢,但我还是不明白fgets 在不检查每个字符的情况下如何做到这一点(而且我的直觉并不总是那么好)。线条很大,所以性能很重要。
我想知道每种方法的优缺点。提前谢谢你。
【问题讨论】: