0

我正在尝试使用 memcpy 将文件从一个位置复制到另一个位置。

每次我作为源提供的文件路径不存在时,我都会崩溃。

这是一个正确的行为,如果是,那么我该如何防止崩溃。

4

2 回答 2

8

memcpy的目的不是复制文件,而是将内存块从一个地方复制到另一个地方。根据平台,我确信有更好的方法在目录之间复制文件。

于 2012-04-04T06:52:09.397 回答
2

不不不!以神圣记忆的名义,你在做什么?memcpy严格用于内存传输。例如,假设您在图形应用程序中有一堆顶点,您想将它们提供给顶点缓冲区而不实际传递指针。这样,您就可以复制代表顶点的整个字节数组,然后再复制它们 - 它们是底层 API 的问题。这就是预期的用途。另外,请注意如何使用它。您指定要复制的字节数。确保它是准确的。在最低级别,没有类型之类的东西,如果你给它太多,它会造成严重破坏 - 撕成“属于”其他变量的字节。如果幸运的话,这样的代码会杀死你的应用程序。如果你不是 - 它会继续工作。

对于文件读/写/复制,您必须参考标准 C/C++ 文件输入/输出(或一些更精细的方法,由底层平台提供,如答案之一所建议的那样)。网上资源很多,这里就不重复造轮子了。希望它能让你更好地了解memcpy它的用途。

于 2012-04-04T07:08:16.153 回答