如何复制已打开的文件

how to copy already opened file?

本文关键字:文件 何复制 复制      更新时间:2023-10-16

我有一个文件的句柄,它被打开了。

HANDLE h = ::CreateFile(...)

我想复制这个文件。怎么做呢?我想这样做:

CopyFile(h, "new_file.dat");

我知道有CopyFile(fileName, newFileName)函数,但似乎我必须在使用这个调用这个函数之前关闭我的句柄。有其他复印的方法吗?

我猜你是在windows工作。问题是,在windows中,当您打开一个文件时,默认情况下会阻止其他打开(复制也会打开该文件)。正如我所知,CreateFile有一个标志,允许在共享模式下打开文件。根据定义,这个标志应该可以解决您的问题。