在C语言中的文件复制的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 03:40:39
#include<stdio.h>
main()
{
FILE *in,*out;
char ch,infilename[20],outfilename[20];
printf("input the infilename:\n");
scanf("%s",infilename);
printf("input the outfilename:\n");
scanf("%s",outfilename);
if((in=fopen(infilename,"r"))==NULL)
{
printf("can not open the infile:\n");
return 0;
}
if((out=fopen(outfilename,"w"))==NULL)
{
printf("can not open the outfile:\n");
return 0;
}
while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
我也编好了file1,和file2,怎么会不能复制呢?请问这时为什么?

你程序不错.

如果你在c:盘中建了a.txt和b.txt:

则应输入:

c:\a.txt(回车)
c:\b.txt(回车)

你肯定是没按上面完全输入.

程序没啥问题.
你编的file1中有内容没.
你在fopen语句里没有文件所在路径,那样的话建立的文件应该默认在tc的文件夹中,再找找看.

同意楼上的,要输入全路径。经测试成功。只是输出文件多了一个字符。

是的,程序没问题,在同一目录下运行成功了,不过file2.txt中最后一个字符为乱码
如file1.txt中为123121254564656455
file2.txt中则为123121254564656455y(不是y,是y上还有两点,这里显示不了);
不知道为什么啊!大家研究一下