高手帮忙,c语言文件内容复制

来源:百度知道 编辑:UC知道 时间:2024/06/09 23:14:34
下面是一段代码,具体作用是将a.txt的内容复制到b.txt里去,我在D盘上创建了a.txt以及b.txt文件,执行程序时输入了路径d:\a.txt d:\b.txt可是不知为什么始终显示文件打开失败,求高手帮忙解释或者修改下,万分感谢!
#include <stdio.h>

int main()
{
FILE *fp1,*fp2;
char file1[20],file2[20],c;
printf("请输入源文件路径:\n");
scanf("%s",file1);
printf("请输入目标文件路径:\n");
scanf("%s",file2);
if((fp1=fopen(file1,"r")!=NULL) && (fp2=fopen(file2,"w+")!=NULL))
{
printf("文件打开成功!");
while(!feof(fp1))
{
c=fgetc(fp1);
fputc(c,fp2);
}
rewind(fp2);
while(!feof(fp2))
{
putchar(fgetc(fp2));
}
fclose(fp1);
fclose(fp2);
}
else
printf("文件打开失败!\n");
system("pause");
}

if((fp1=fopen(file1,"r")!=NULL) && (fp2=fopen(file2,"w+")!=NULL))
改为

if((fp1=fopen(file1,"r"))!=NULL && (fp2=fopen(file2,"w+"))!=NULL)

#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp1,*fp2;
char file1[20],file2[20],c;
printf("请输入源文件路径:\n");
scanf("%s",file1);
printf("请输入目标文件路径:\n");
scanf("%s",file2);
if((fp1=fopen(file1,"r"))!=NULL && ((fp2=fopen(file2,"w+"))!=NULL))
{
printf("文件打开成功!");
while(!feof(fp1))
{
c=fgetc(fp1);
if (c!=EOF)
{
fputc(c,fp2);
}
else
break;
}
rewind(fp2);
while(!feof(fp2))
{
putchar(fgetc(fp2));
}
fclose(fp1);
fclose(fp2);
}
else
printf("文件打开失败!\n");
system("p