getc可以从文件中读取下划线吗?

时间:2016-07-16 08:20:46

标签: c

int i;
FILE *r=fopen("sample.txt","r");
for (i=0;i<1;i++){
    char filename[30];
    sprintf(filename,"%d",i);
    FILE *f=fopen(filename,"w");
    while (getc(r)!=EOF){
        putc(getc(r),f);
    }
    fclose(f);
}

sample.txt文件包含

>12.1 blah blah blah_1
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
>13.1 blah blah blah_2
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

运行代码后,我得到了这个输出

1. lhba lh1AAAAAAAAAAAAAAAAAAAAAAAAAAA
1. lhba lh2BBBBBBBBBBBBBBBBBBBBBBBBBBB

此外,它不是在阅读&#34;&gt;&#34;和&#34; _&#34;,似乎仍然缺少字符。我在哪里弄错了?

1 个答案:

答案 0 :(得分:4)

TimeSpan.FromMinutes(minutes).TotalMilliseconds.

因此,您使用while (getc(r)!=EOF){ putc(getc(r),f); } 两次,只输出其中一个文件getc

相反,您应该只使用一个f。将其存储在int var。

getc