我正在用C编写一个程序,它打开一个文件并逐行读入文件,在读取行后对每个字符串执行各种操作。
现在我的问题是我有一个循环设置,所以我读了一行并对该行做了必要的事情,然后移到下一行,直到文件结束。我遇到的问题是,我知道最大行长度是80个字符,但它可能小于这个,所以我在行结束时遇到很多麻烦,以便正确执行必要的操作。
我会附上代码,但是我很难接受这部分而且我很早就知道我的代码是否会有所帮助,因为它只是在阅读阶段。当它的长度未知时,我无法弄清楚如何读取一行。任何帮助将不胜感激!
答案 0 :(得分:3)
定义一个大小至少为82的char
缓冲区(80个字符+换行符+空字节)。
在一个循环中,反复调用fgets(buffer, sizeof buffer, file)
读取一行并执行任务,直到到达文件末尾:
char buffer[82];
while (fgets(buffer, sizeof buffer, file)) {
/* handle the line in buffer */
...
}
警告:buffer
包含'\n'
作为最后一个字符。