C语言打印行号文件名字
时间: 2024-12-13 10:27:30 浏览: 13
在C语言中,要打印行号和文件名,通常需要结合`stdio.h`库中的`fopen`、`fclose`函数打开和关闭文件,以及`fprintf`函数进行格式化输出。以下是一个简单的示例,展示了如何在读取文件内容时添加行号和文件名:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LENGTH 100
void print_lineno_and_filename(char *filename) {
FILE *file = fopen(filename, "r"); // 打开文件
if (file == NULL) {
perror("Error opening file");
return;
}
int line_num = 1; // 行号初始化为1
char line[MAX_LINE_LENGTH];
while (fgets(line, sizeof(line), file)) { // 逐行读取文件
fprintf(stderr, "%d: %s", line_num++, line); // 在标准错误流上打印行号和内容
}
fclose(file); // 关闭文件
}
int main() {
const char *filename = "example.txt"; // 替换为你的文件路径
print_lineno_and_filename(filename);
return 0;
}
```
在这个示例中,`fprintf`函数用于将行号和当前行的内容一起输出到标准错误流(`stderr`),这样它们会出现在控制台。如果你希望输出到文件而不是标准错误,只需修改`fprintf`的第二个参数为对应的文件指针。
阅读全文