如何检查线路是否结束?

时间:2014-11-27 11:07:05

标签: c string file line scanf

我今天遇到了一个问题。我无法找到一种方法来检查文件中的一行是否结束,并且已经从下一行中读取了这些单词。我使用fscanf从文件中逐字逐句阅读,然后根据需要处理该单词并将其打印到另一个文件中,但是存在问题。

例如我的数据文件是:

Hello, how are you
doing?

,结果文件显示:

Hello, how are you doing?

但是我需要将这些词放在我接受它们的行中。请记住,我一个接一个地需要这些词,这就是为什么我不能使用getline()

这是我如何从文件中读取单词的代码:

while( fscanf(file, "%s", A) != EOF )
        {
            check(A, B, &a); // I edit the words and put them in B string
                             // which is printed to the write file
        }

感谢您的任何提示!

3 个答案:

答案 0 :(得分:3)

将该行读入包含getline()fgets()的字符串,然后使用sscanf从该字符串中获取字词。

答案 1 :(得分:2)

您可以使用简单的逻辑,例如匹配.?等通常以行结束的字符串。

答案 2 :(得分:1)

您需要通过添加支票来检查行尾。 由于换行符由换行符表示,即' \ n'。所以在while循环中而不是复制整个东西,在检查' \ n'

的帮助下逐行进行