对feof( )函数运行机制的不解!!!
有如下一段程序代码,用来复制文件!!!#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
FILE *in,*out;
char ch;
if(argc!=3)
{
printf("You forgot to enter a filename\n");
exit(0);
}
if((in=fopen(argv[1],"rb"))==NULL)
{
printf("cannot open infile\n");
exit(0);
}
if((out=fopen(argv[2],"wb"))==NULL)
{
printf("cannot open outfile\n");
exit(0);
}
while(!feof(in))
fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
编译后在D盘根目录下生成可执行文件a.exe,D盘根目录下还有一个文件1.txt,其内容为abc
运行以下命令:
D:\a 1.txt 2.txt
生成2.txt文件,里面的内容为abc后跟一个y上面两点的符号。
feof()函数的执行机理到底是什么样子呢?