【发布时间】:2013-10-16 17:37:43
【问题描述】:
我正在编写一个程序来从一个文件中输入多行。 问题是我不知道行的长度,所以我不能使用 fgets 因为我需要给出缓冲区的大小并且不能使用 fscanf 因为它停在一个空格标记处 我看到了一个解决方案,他建议对作为输入的每个字符使用 malloc 和 realloc,但我认为有一种更简单的方法,然后我发现有人建议使用
fscanf(file,"%[^\n]",line);
有没有人有更好的解决方案,或者有人可以解释一下上面的工作原理吗?(我还没有测试过)
如果需要,我使用 GCC 编译器
【问题讨论】:
-
我很好奇:为什么你不能使用
fgets()?我没看懂你上面的解释。