2007年8月31日 星期五

C Function - fgetc、fgets讀取整個檔案內容

fgetc:傳回所讀到的字元,傳回值如果是 EOF,可能是有錯誤發生或是檔案終止(end-of-file),所以應該利用 feof 或是 ferror 來判定錯誤發生或是檔案終止。

fgets: 傳回所讀到的字串,傳回值如果是 NULL,可能是有錯誤發生或是檔案終止(end-of-file),所以應該利用 feof 或是 ferror 來判定錯誤發生或是檔案終止。

使用 fgetc 讀取整個檔案 

#include "stdio.h"
main()
{
FILE *fp;
ch ch;

if((fp=fopen("test", "r"))==NULL)
{
printf("file cannot be opened\n");
exit(1);
}

while((ch=fgetc(fp))!=EOF) fputc(ch,stdout);
fclose(fp);
}

使用 fgets 讀取整個檔案
#include "stdio.h"
main()
{
FILE *fp;
char str[128];

if((fp=fopen("test", "r"))==NULL)
{
printf("cannot open file\n");
exit(1);
}

while(!feof(fp))
if(fgets(str,128,fp)!=NULL) printf("%s",str);

fclose(fp);
}

沒有留言: