我有一个文件的句柄,它已打开。
HANDLE h = ::CreateFile(...)
我想复制这个文件。怎么做?我想做这样的事情:
CopyFile(h, "new_file.dat");
我知道有 CopyFile(fileName, newFileName)
函数,但似乎我必须先关闭我的句柄才能调用此函数。还有其他复制方法吗?
最佳答案
我猜你在 Windows 中工作。问题是,在 Windows 中,当您打开文件时,默认情况下会阻止其他打开文件(复制也会打开文件)。据我所知,CreateFile 有一个允许以共享模式打开文件的标志。根据定义,该标志应该可以解决您的问题。
关于c++ - 如何复制已经打开的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400082/