c语言读入文件内容,为每一行加上行号 后,分别输出到屏幕上和文件
时间: 2023-09-07 18:02:03 浏览: 264
C语言可以使用`fgets()`函数逐行读取文件内容,并借助循环遍历文件中的每一行。为了给每一行添加行号,我们可以使用一个计数器变量,从1开始递增。然后,我们可以使用`printf()`函数分别将每一行内容和对应的行号输出到屏幕上,同时还可以使用`fprintf()`函数将每一行内容和行号输出到文件中。
示例代码如下:
```c
#include <stdio.h>
int main() {
FILE *file;
file = fopen("input.txt", "r"); // 打开要读取的文件
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
char line[100];
int lineNum = 1;
// 逐行读取文件内容并添加行号
while (fgets(line, sizeof(line), file) != NULL) {
// 将行号添加到行内容中
char lineWithNum[100];
sprintf(lineWithNum, "%d: %s", lineNum, line);
// 输出到屏幕上
printf("%s", lineWithNum);
// 输出到文件中
FILE *outputFile;
outputFile = fopen("output.txt", "a"); // 打开要写入的文件
fprintf(outputFile, "%s", lineWithNum);
fclose(outputFile);
lineNum++; // 行号递增
}
fclose(file);
return 0;
}
```
注意,上述示例代码中的文件名为`input.txt`,表示要读取的文件名,可以根据实际需要进行修改。而输出到文件的文件名为`output.txt`,可以根据实际需要进行修改。另外,示例代码假定文件的每一行最多包含99个字符,可以根据实际需要进行调整。
阅读全文