代码编译正确,但执行错误。
#include <stdio.h>
int main(int argc, char argv[])
{
FILE *in,*out;
if(argc != 3)
{
printf( "You forgot to enter a filename.\n ");
exit(0);
}
if((in = fopen(argv[1], "r ")) == NULL)
{
printf( "cannot open infile.\n ");
exit(0);
}
if((out = fopen(argv[2], "w ")) == NULL)
{
printf( "cannot open outfile.\n ");
exit(0);
}
while(! feof(in))
fputc(fgetc(in),out);
fclose(in);
fclose(out);
return 0;
}
这段代码错在哪里啊?为什么执行结果不对啊?谢谢!
[解决办法]
int main(int argc, char* argv[])
[解决办法]
while(! feof(in))
fputc(fgetc(in),out);
该成
do
{
fputc(fgetc(in),out);
}while(! feof(in));
好多文件读写都是这么写的。
[解决办法]
这个乱码难道是文件结束符??