[英]Reading a C file line by line where each line has an unknown length
我正在用C编写一个程序,该程序打开一个文件,并逐行读取文件,并在读取该行后对每个字符串执行各种操作。
现在我的问题是我建立了一个循环,因此我读入一行并对该行做必要的操作,然后移至下一行直到文件末尾。 我遇到的问题是,我知道最大行长为80个字符,但是可以小于此长度,因此为了正确执行必要的操作,我在行尾停止时遇到很多麻烦。
我会附加代码,但在这一部分我感到很困惑,而且还太早,以至于我只是在阅读阶段才真正不知道我的代码是否会有所帮助。 当长度未知时,我无法弄清楚如何读取一行。 任何帮助将不胜感激!
定义一个大小至少为82(80个字符+换行符+空字节)的char
缓冲区。
在循环中,重复调用fgets(buffer, sizeof buffer, file)
以读取一行并执行任务,直到到达文件末尾:
char buffer[82];
while (fgets(buffer, sizeof buffer, file)) {
/* handle the line in buffer */
...
}
注意: buffer
的最后一个字符为'\\n'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.