如果我想在不知道该行的具体内容的情况下读取特定行,我将如何使用fscanf执行此操作?
one \n
two \n
three \n
i want this line number four \n
five \n
six \n
我如何阅读输入文本文件的第5行?我需要使用while循环还是for循环?
答案 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);
}
}