我正在尝试使用此代码将file1
复制到file2
的内容
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *fs,*ft;
int ch;
fs=fopen("C:\\Users\\BRAHMA JAISWAL\\Desktop\\a.txt","a+");
if(fs==NULL){
puts("Unable to open Source file");
exit(1);
}
ft=fopen("C:\\Users\\BRAHMA JAISWAL\\Desktop\\b.txt","wb");
if(ft==NULL)
{
puts("Unable to open TArget File");
fclose(ft);
exit(1);
}
puts("Enter anything which you want to write in source file:");
int a;
scanf("%d",&a);
fprintf(fs,"%d",a);
while(1)
{
ch=fgetc(fs);
if(ch==EOF)break;
fputc(ch,ft);
}
fclose(ft);
fclose(fs);
return 0;
}
它不起作用(file1的内容不会被复制到file2)但是当我删除这部分代码时它才能正常工作。
puts("Enter anything which you want to write in a source file:");
int a;
scanf("%d",&a);
fprintf(fs,"%d",a);
任何人都能说出问题吗?
答案 0 :(得分:1)
您的fprintf(fs,"%d",a);
实际上是打印到源文件,而不是目标文件。
源文件可能应该以{{1}}模式而不是r
打开。