函數feof(fp//文件指針)用於測試fp所指向的文件內部位置指針是否指向文件結束。如果是文件結束,函數feof(fp)的值為1(真),如果不結束,函數feof(fp)的值為0(假),feof函數可判斷二進制文件和文本文件的結束
例:
將一個文本文件數據復制到另一個文件中(前提是a.txt是已存在的文件)
[cpp]
#include <stdio.h>
int main()
{
FILE *fpin,*fpout;
char ch;
if((fpin = fopen("d:\\a.txt","rt")) == NULL)//打開源文件
{
printf("Cannot open a.txt\n");
}
if((fpout = fopen("d:\\b.txt","wt")) == NULL)//打開目標文件
{
printf("cannot open b.txt\n");
}
ch = fgetc(fpin); //讀取原文件第一個字符
printf("直接輸出文件a的內容\n");
while(!feof(fpin)) //判斷源文件是否結束
{
putchar(ch);
fputc(ch,fpout);
ch = fgetc(fpin);
}
printf("\n");
fclose(fpin);
fclose(fpout);
printf("\n將a文件復制到b文件中後,輸出b文件的內容\n");
if((fpout = fopen("d:\\b.txt","rt")) == NULL)
{
printf("Cannot open b.txt\n");
}
ch = fgetc(fpout);
while(!feof(fpout))
{
putchar(ch);
ch = fgetc(fpout);
}
fclose(fpout);
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
FILE *fpin,*fpout;
char ch;
if((fpin = fopen("d:\\a.txt","rt")) == NULL)//打開源文件
{
printf("Cannot open a.txt\n");
}
if((fpout = fopen("d:\\b.txt","wt")) == NULL)//打開目標文件
{
printf("cannot open b.txt\n");
}
ch = fgetc(fpin); //讀取原文件第一個字符
printf("直接輸出文件a的內容\n");
while(!feof(fpin)) //判斷源文件是否結束
{
putchar(ch);
fputc(ch,fpout);
ch = fgetc(fpin);
}
printf("\n");
fclose(fpin);
fclose(fpout);
printf("\n將a文件復制到b文件中後,輸出b文件的內容\n");
if((fpout = fopen("d:\\b.txt","rt")) == NULL)
{
printf("Cannot open b.txt\n");
}
ch = fgetc(fpout);
while(!feof(fpout))
{
putchar(ch);
ch = fgetc(fpout);
}
fclose(fpout);
printf("\n");
return 0;
}