把一个文件中的内容复制到另一个文件中有关文件名的问题
#include<stdio.h>#include<stdlib.h>
int main()
{
char file[10],file1[10],ch;
FILE *in,*out;
scanf("%s",file);
scanf("%s",file1);
if((in=fopen(file,"r"))==NULL)
{
printf("can't open file\n");
exit(0);
}
if((out=fopen(file1,"w"))==NULL)
{
printf("can't open file1\n");
exit(0);
}
while(!feof(in))
{
ch=fgetc(in);
fputc(ch,out);
putchar(ch);
}
fclose(in);
fclose(out);
return 0;
}
我事先创建了一个文本文件work.txt,把里面的内容要复制的到另一个文件work1中,用上述代码输入
work.txt
work1
可以得到输出
可是把打开文件的语句改成下面的样子之后就无法编译通过,这是为什么
#include<stdio.h>
#include<stdlib.h>
int main()
{
char file[10],file1[10],ch;
FILE *in,*out;
// scanf("%s",file);
// scanf("%s",file1);
// if((in=fopen(file,"r"))==NULL)
改后的 if((in=fopen(work.txt,"r"))==NULL)
{
printf("can't open file\n");
exit(0);
}
// if((out=fopen(file1,"w"))==NULL)
改后的 if((out=fopen(work1,"w"))==NULL)
{
printf("can't open file1\n");
exit(0);
}
while(!feof(in))
{
ch=fgetc(in);
fputc(ch,out);
putchar(ch);
}
fclose(in);
fclose(out);
return 0;
}