我正在用C语言编写一个程序,打开一个文件,逐行读取文件,在读取每个字符串后对其执行各种操作。
现在我的问题是我设置了一个循环,所以我在其中读取一行并对该行执行必要的操作,然后移动到下一行直到文件结束。我所遇到的问题是,我知道最大的行长度是80个字符,但它可能小于这个,所以我在线路的末端停了很多麻烦,以便正确地执行必要的操作。
我会附上代码,但我在这一部分,它是如此之早,我真的不知道我的代码是否会有帮助,因为它只是在阅读阶段。当一行字的长度未知时,我想不出该怎么读。任何帮助都将不胜感激!

最佳答案

定义一个大小至少为82(80个字符+换行符+空字节)的缓冲区。
在循环中,反复调用char读取一行并执行任务,直到到达文件末尾:

char buffer[82];

while (fgets(buffer, sizeof buffer, file)) {
    /* handle the line in buffer */
    ...
}

注意:fgets(buffer, sizeof buffer, file)包含一个buffer作为最后一个字符。

关于c - 逐行读取C文件,其中每行的长度未知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29189501/

10-12 17:27
查看更多