我的出局应该是这个
1)你好......
2)编程1 ...
3)学生!
4)欢迎使用File I / O!
我已经做了所有事情,除了我无法弄清楚如何打印每行的数字?
到目前为止,我得到了#include <stido.h>
int main(int argc,char* argv[])
{
char string[200];
FILE* file = fopen("file2.txt","r");
while(fscanf(file, "%c", string) ==1)
{
printf("%c", *string);
}
fclose(file);
return 0;
}
答案 0 :(得分:0)
int num = 1;
char line[200];
FILE* file = fopen("file2.txt","r");
while(fgets(line, 200, file))
{
printf("%d) %s", num, line);
num++;
}
答案 1 :(得分:0)
为了避免像char string[200]
那样限制行长度,可以通过检查珍贵的char
是否为换行符然后打印数字来简单地检测行的开头。无需保守计数,所以请使用宽类型。
#include <assert.h>
#include <stido.h>
int main(int argc,char* argv[]) {
int previous = '\n';
int ch;
unsigned long long line_count = 0;
FILE* file = fopen("file2.txt","r");
assert(file);
while((ch = fgetc(file)) != EOF) {
if (previous == '\n') {
printf("%llu) ", ++line_count);
}
fputc(ch, stdout);
previous = ch;
}
fclose(file);
return 0;
}