【发布时间】:2021-08-21 10:17:23
【问题描述】:
我想将输入作为行号,并将输出作为文本文件中该行号的相应文本。
示例文本文件:
Hi this is Stefen
Hi How are you
输入示例:
Enter the line number:2
预期输出:
Hi How are you
我的程序是:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
fp = fopen("sample.txt", "r");
if (fp == NULL) {
perror("Unable to open the file\n");
exit(1);
}
char buf[256];
while (fgets(buf, sizeof(buf), fp) != NULL) {
printf("%s\n", buf);
print("~~~~\n");
}
fclose(fp);
return 0;
}
我得到的输出:(每行下方带有分隔符~~~~ 的整个文件)
Hi this is Stefen
~~~~
Hi How are you
~~~~
谁能告诉我怎么做?
【问题讨论】:
-
添加一个
count变量,初始化为0并在循环内递增。对于您的程序的第一个版本,假设循环每次读取一个完整的行。仅当counter是所需的行号时才打印。
标签: c linux for-loop file-handling fgets