如何从C中的输入文件中读取特定行?

时间:2014-02-01 21:49:59

标签: c

如果我想在不知道该行的具体内容的情况下读取特定行,我将如何使用fscanf执行此操作?

one \n
two \n
three \n
i want this line number four \n
five \n
six \n

我如何阅读输入文本文件的第5行?我需要使用while循环还是for循环?

1 个答案:

答案 0 :(得分:1)

你可以使用任何循环,这两种循环的工作方式大致相同

这是你可以做的事情

int ch, newlines = 0;
while ((ch = getc(fp)) != EOF) {
    if (ch == '\n') {
        newlines++;
        if (newlines == 5)
            break;
    }
}

或者您可以使用fgets,因为fgets将“\ n”(换行符)放在行尾

char line[100]; int newline=0;
          while ( fgets( line, 100, stdin ) != null ) 
            { 
              newline++;
              if(newline==5)
              {
                fprintf("The line is: %s\n", line); 
              }
            }