c语言用二进制方式打开指定文件并添加行号
时间: 2024-01-12 15:05:27 浏览: 109
给文件加上行数 c语言代码
下面是一个示例程序,它可以打开指定文件,并在每一行的开头添加行号:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Usage: %s <file>\n", argv[0]);
return 1;
}
FILE *fp = fopen(argv[1], "rb");
if (!fp) {
printf("Failed to open file: %s\n", argv[1]);
return 1;
}
int line_num = 1;
int ch;
printf("%d ", line_num);
while ((ch = fgetc(fp)) != EOF) {
putchar(ch);
if (ch == '\n') {
++line_num;
printf("%d ", line_num);
}
}
fclose(fp);
return 0;
}
```
该程序使用了 C 标准库中的文件操作函数,通过打开文件并逐个读取字符的方式实现了添加行号的功能。需要注意的是,使用二进制方式打开文件并不是必须的,但是可以避免因为 Windows 和 Linux/Unix 系统的换行符不同而导致的行号计算出错。
阅读全文