[例10.2]從鍵盤輸入一行字符,寫入一個(gè)文件, 再把該文件內(nèi)容讀出顯示在屏幕上。
#include
main()
{
FILE *fp;
char ch;
if((fp=fopen("string","wt+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("input a string:\n");
ch=getchar();
while (ch!='\n')
{
fputc(ch,fp);
ch=getchar();
}
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
} 來來源:www.examda.com 源:www.examda.com
程序中第6行以讀寫文本文件方式打開文件string。程序第13行從鍵盤讀入一個(gè)字符后進(jìn)入循環(huán),當(dāng)讀入字符不為回車符時(shí), 則把該字符寫入文件之中,然后繼續(xù)從鍵盤讀入下一字符。 每輸入一個(gè)字符,文件內(nèi)部位置指針向后移動(dòng)一個(gè)字節(jié)。寫入完畢, 該指針已指向文件末。如要把文件從頭讀出,須把指針移向文件頭, 程序第19行rewind函數(shù)用于把fp所指文件的內(nèi)部位置指針移到文件頭。 第20至25行用于讀出文件中的一行內(nèi)容。
#include
main()
{
FILE *fp;
char ch;
if((fp=fopen("string","wt+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("input a string:\n");
ch=getchar();
while (ch!='\n')
{
fputc(ch,fp);
ch=getchar();
}
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
} 來來源:www.examda.com 源:www.examda.com
程序中第6行以讀寫文本文件方式打開文件string。程序第13行從鍵盤讀入一個(gè)字符后進(jìn)入循環(huán),當(dāng)讀入字符不為回車符時(shí), 則把該字符寫入文件之中,然后繼續(xù)從鍵盤讀入下一字符。 每輸入一個(gè)字符,文件內(nèi)部位置指針向后移動(dòng)一個(gè)字節(jié)。寫入完畢, 該指針已指向文件末。如要把文件從頭讀出,須把指針移向文件頭, 程序第19行rewind函數(shù)用于把fp所指文件的內(nèi)部位置指針移到文件頭。 第20至25行用于讀出文件中的一行內(nèi)容。