我想從鍵盤輸入到文本檔案中,再讀取這個檔案內容列印出來,為啥停止作業了
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char s[100],a[100];
if( ( fp=fopen("a.txt","w+")) == NULL )
{
printf("can't open file!\n");
exit(-1);
}
scanf("%s",&s);
fprintf(fp,"%s",s);
fscanf(fp,"%s",&a);
printf("%s",a);
fclose(fp);
return 0;
}
uj5u.com熱心網友回復:
在fscanf(fp,"%s",&a);之前加一句fseek(fp, 0L, SEEK_SET);
~~~~~~~~~~
因為你在前面寫檔案,這時候檔案指標位置是跟隨著寫的,已經到檔案末尾
你讀檔案末尾是讀不到東西的
uj5u.com熱心網友回復:
明白了,感謝大佬uj5u.com熱心網友回復:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char s[100],a[100];
if( ( fp=fopen("a.txt","w+")) == NULL )
{
printf("can't open file!\n");
exit(-1);
}
//scanf("%s",&s);
scanf("%s",s);
fprintf(fp,"%s",s); //檔案寫成功后fp會指向后面未被寫的位置
rewind(fp); //讓fp指標重置,重新指向檔案開頭。
//fscanf(fp,"%s",&a);
fscanf(fp,"%s", a);
printf("%s",a);
fclose(fp);
return 0;
}
供參考~
uj5u.com熱心網友回復:
謝謝兄弟,已經懂了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/88719.html
標籤:C語言
