C语言,读一个文本文件中的内容到另一个文件中

#include<stdio.h>

#include<stdlib.h>
main()
{ FILE *fp1,*fp2;
fp1=open("/mnt/hgfs/E/a.txt","r");
fp2=open("/mnt/hgfs/E/b.txt","w");

printf("%d %d",fp1,fp2);
char a[20];
read(fp1,a,10);
write(fp2,a,10);
close(fp1);
close(fp2);
}
这是我写的程序,a.txt里的内容是abcdefghij这十个字符,执行完后a.txt就变空了,b.txt里变成了奇怪的字符,fp1,fp2是打印出3,4。
请问,为什么不能把a.txt里的十个字符正常拷到b.txt里呢?错在哪?

#include<stdio.h>
#include<stdlib.h>
void main()
{  FILE *fp1,*fp2;
   fp1=fopen("/mnt/hgfs/E/a.txt","r");
  fp2=fopen("/mnt/hgfs/E/b.txt","w");
  printf("%d %d",fp1,fp2);
  char a[20];
  fread(a,sizeof(char),10,fp1);
  fwrite(a,sizeof(char),10,fp2);
  fclose(fp1);
  fclose(fp2);
}

所有函数前面都少了个字母f

追问

厉害啊,那如果要求拷到b.txt时还要逆序呢?

温馨提示:答案为网友推荐,仅供参考
相似回答