私は読みmyfile.txtの名前のテキストファイルがあります、なぜftellはファイル内のいくつかの位置をスキップしますか?
character number 0 l
character number 1 i
character number 2 n
character number 3 e
character number 4
character number 5 1
character number 6
character number 8 l
character number 9
\ nが遭遇するたびに:
line 1
l
マイコード:
#include<stdio.h>
int main(){
FILE *f = fopen("myfile.txt","r");
if(f==NULL){
FILE *fp=fopen("myfile.txt","w");
fclose(fp);
f = fopen("myfile.txt","r");
}
while(!feof(f)){
printf("\ncharacter number %d ",ftell(f));
putchar(fgetc(f));
}
fclose(f);
return 0;
}
が出力されますftellは1つの値をスキップします。たとえば、値7をスキップしました。なぜそうですか?詳細を私に説明してください、私は知りたいです。
関連する質問をご覧くださいhttps://stackoverflow.com/questions/10651108/why-does-ftell-shows-wrong-position-after-fread?rq=1 – Saustin
万が一Windowsを使用していますか? –
@AjayBrahmakshatriyaはい私は窓を使用しています。 –