【发布时间】:2022-01-10 23:17:05
【问题描述】:
我正在尝试在不使用fgets()的情况下在行首打印行号
是的,当我输入多个文件时,它可以很好地打印行号
但我想得到这样的结果。你们能帮我解决这个问题吗?
现在结果
1 I'll always remember
2 the day we kiss my lips
3
4 light as a feather
*5 ####@localhost ~ $*
期待结果
1 I'll always remember
2 the day we kiss my lips
3
4 light as a feather
*####@localhost ~$*
这是我的代码:
#include <stdio.h>
int main(int argc, char *argv[]) {
FILE *fp;
int c, n;
n = 1;
for (int i = 1; i < argc; i++) {
if (argc < 2)
fp = stdin;
else
fp = fopen(argv[i], "r");
c = getc(fp);
printf("%d ", n);
while (c != EOF) {
putc(c, stdout);
if (c == '\n')
n++, printf("%d ", n);
c = getc(fp);
}
fclose(fp);
}
return 0;
}
【问题讨论】:
-
将文本作为文本发布更有用。