如何在malloc字符串上使用fread

时间:2017-05-22 21:37:39

标签: c malloc fwrite fread

有人可以帮助我理解为什么它会将未知的字符输入temp吗? 我试图将一个文件二进制复制到另一个文件。 谢谢你的头!

 int size=0;
 fseek(srcFiles,0, SEEK_END);
 size = ftell(srcFiles);
 printf("%d", size);
 char* temp = (char*)malloc(sizeof(char)*(size+1));
 fread(temp, sizeof(char), size , srcFiles);
 printf("%s", temp);
 fwrite(temp, sizeof(char), size , dstFiles)

1 个答案:

答案 0 :(得分:0)

似乎问题是你在寻找结束后没有回到文件的开头(使用ftell确定文件大小)。

如前所述,如果以这种方式使用printf,还需要添加空终止符。