为什么这种复制文件的方式不起作用

水晶玩家

我正在写一个包装程序,以帮助我将来的项目(我完成了C书),并且想在不使用的情况下复制文件fgetc这是我的代码,它不起作用:

int CopyFile(char* filename, char* dest)
{
  FILE* fp, *fout;
  fp = fopen(filename,"rb");
  //fout = fopen(dest, "wb");
  if(fp == NULL)
  {
    return -1;
  }
  /*while((c = fgetc(fp)) != EOF)
  {
    fputc(c,fout);
  }*/
  long size = GetFileSize(fp);
  printf("%lu", size);
  char* file = malloc(size);
  fread(file, size, 1, fp);
  //fclose(fp);
  fout = fopen(dest, "wb");
  fwrite(file, size, 1, fout);
  fclose(fp);
  fclose(fout);
  return 0;

}

我什至用hexeditor打开文件,它们也不相似。我究竟做错了什么?

一些程序员哥们

问题出在GetFileSize函数中,在该函数中您将文件指针移到末尾,但是您再也不会倒退到开头。

这意味着您的fread函数调用实际上不会读取任何内容,因为指针已经位于文件末尾。因此,所写的是分配的内存的内容,该内容是不确定的(并且似乎是随机的)。

如果您检查了fread返回的内容,则将立即看到。

让这成为始终检查可能以一种或另一种方式失败的函数的返回值的课程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这种关闭方式不起作用?

来自分类Dev

为什么这种展开不起作用?

来自分类Dev

为什么这种缩放不起作用?

来自分类Dev

为什么对智能指针的这种优化不起作用?

来自分类Dev

为什么这种C ++多态性不起作用?

来自分类Dev

为什么这种热键组合:“ Super + V”不起作用?

来自分类Dev

为什么这种可重复的随机算法不起作用?

来自分类Dev

为什么multiprocessing.pool的这种实现不起作用?

来自分类Dev

为什么这种Lua模式不起作用?

来自分类Dev

VBA,为什么这种情况不起作用?

来自分类Dev

为什么这种mongo排序不起作用

来自分类Dev

Java-为什么这种模式匹配不起作用?

来自分类Dev

为什么getElementsByTagName在这种逻辑下不起作用?

来自分类Dev

为什么在jquery中不起作用这种反弹效果?

来自分类Dev

为什么这种情况在Ubuntu中不起作用?

来自分类Dev

为什么多处理池的这种实现不起作用?

来自分类Dev

为什么这种基于条件的列表理解不起作用?

来自分类Dev

为什么这种重新分配不起作用

来自分类Dev

为什么这种检查 undefined 的方法不起作用?

来自分类Dev

为什么这种算法的“改进”不起作用?

来自分类Dev

为什么这种负面前瞻不起作用?

来自分类Dev

为什么这种合并排序的实现不起作用?

来自分类Dev

为什么对列表列表的这种迭代不起作用?

来自分类Dev

为什么写入文件不起作用?

来自分类Dev

为什么struct浅表复制不起作用?

来自分类Dev

为什么拖放复制在 vscode 中不起作用

来自分类Dev

为什么 stringstream 的这种用法在 linux 上不起作用,但在 Mac 上起作用?

来自分类Dev

将带有通配符(*)的文件复制到bash脚本中的文件夹-为什么不起作用?

来自分类Dev

我不明白为什么这种线程情况不起作用 <线程锁不起作用>

Related 相关文章

  1. 1

    为什么这种关闭方式不起作用?

  2. 2

    为什么这种展开不起作用?

  3. 3

    为什么这种缩放不起作用?

  4. 4

    为什么对智能指针的这种优化不起作用?

  5. 5

    为什么这种C ++多态性不起作用?

  6. 6

    为什么这种热键组合:“ Super + V”不起作用?

  7. 7

    为什么这种可重复的随机算法不起作用?

  8. 8

    为什么multiprocessing.pool的这种实现不起作用?

  9. 9

    为什么这种Lua模式不起作用?

  10. 10

    VBA,为什么这种情况不起作用?

  11. 11

    为什么这种mongo排序不起作用

  12. 12

    Java-为什么这种模式匹配不起作用?

  13. 13

    为什么getElementsByTagName在这种逻辑下不起作用?

  14. 14

    为什么在jquery中不起作用这种反弹效果?

  15. 15

    为什么这种情况在Ubuntu中不起作用?

  16. 16

    为什么多处理池的这种实现不起作用?

  17. 17

    为什么这种基于条件的列表理解不起作用?

  18. 18

    为什么这种重新分配不起作用

  19. 19

    为什么这种检查 undefined 的方法不起作用?

  20. 20

    为什么这种算法的“改进”不起作用?

  21. 21

    为什么这种负面前瞻不起作用?

  22. 22

    为什么这种合并排序的实现不起作用?

  23. 23

    为什么对列表列表的这种迭代不起作用?

  24. 24

    为什么写入文件不起作用?

  25. 25

    为什么struct浅表复制不起作用?

  26. 26

    为什么拖放复制在 vscode 中不起作用

  27. 27

    为什么 stringstream 的这种用法在 linux 上不起作用,但在 Mac 上起作用?

  28. 28

    将带有通配符(*)的文件复制到bash脚本中的文件夹-为什么不起作用?

  29. 29

    我不明白为什么这种线程情况不起作用 <线程锁不起作用>

热门标签

归档