我正在尝试使用 memcpy 将文件从一个位置复制到另一个位置。
每次我作为源提供的文件路径不存在时,我都会崩溃。
这是一个正确的行为,如果是,那么我该如何防止崩溃。
memcpy
的目的不是复制文件,而是将内存块从一个地方复制到另一个地方。根据平台,我确信有更好的方法在目录之间复制文件。
不不不!以神圣记忆的名义,你在做什么?memcpy
严格用于内存传输。例如,假设您在图形应用程序中有一堆顶点,您想将它们提供给顶点缓冲区而不实际传递指针。这样,您就可以复制代表顶点的整个字节数组,然后再复制它们 - 它们是底层 API 的问题。这就是预期的用途。另外,请注意如何使用它。您指定要复制的字节数。确保它是准确的。在最低级别,没有类型之类的东西,如果你给它太多,它会造成严重破坏 - 撕成“属于”其他变量的字节。如果幸运的话,这样的代码会杀死你的应用程序。如果你不是 - 它会继续工作。
对于文件读/写/复制,您必须参考标准 C/C++ 文件输入/输出(或一些更精细的方法,由底层平台提供,如答案之一所建议的那样)。网上资源很多,这里就不重复造轮子了。希望它能让你更好地了解memcpy
它的用途。