如何复制已打开的文件
how to copy already opened file?
我有一个文件的句柄,它被打开了。
HANDLE h = ::CreateFile(...)
我想复制这个文件。怎么做呢?我想这样做:
CopyFile(h, "new_file.dat");
我知道有CopyFile(fileName, newFileName)
函数,但似乎我必须在使用这个调用这个函数之前关闭我的句柄。有其他复印的方法吗?
我猜你是在windows工作。问题是,在windows中,当您打开一个文件时,默认情况下会阻止其他打开(复制也会打开该文件)。正如我所知,CreateFile有一个标志,允许在共享模式下打开文件。根据定义,这个标志应该可以解决您的问题。
相关文章:
- 文件系统:复制功能的速度秘诀是什么
- 如何检查文件是否复制成功?(便携式解决方案)C++
- 如果我尝试将对话框从一个项目移动到另一个项目,我是否需要从 rc 文件中复制 DESIGNINFO、对话框信息和AFX_
- 将文件内容复制到容器而不是字符类型
- 从PDF文件仅复制必要的对象
- 我无法使用 c++(代码块)中的 fstream 将文件内容复制到另一个。如何运行该文件?
- 我可以在锁定文件后复制文件吗?
- c++读取txt文件并复制到两个类istream::peek()中
- 写入文件会复制最后一个条目
- C++:可以使用decltype从我的头文件中复制类型吗
- XCOPY Dos命令从子文件夹复制
- 使用 RDBUF 将文件内容复制到缓冲区失败
- VS 2010 中 win32 应用程序中的文件夹复制
- 如何使用 CopyFile 将特定类型的文件从一个文件夹复制到另一个文件夹
- 为什么这个程序不起作用?(将文件内容复制到另一个文件的程序)
- 如何将文件从文件夹复制到另一个文件夹
- 文件I/O错误复制构造函数
- 如何使用 Boost 文件系统复制目录
- 如何判断文件夹是否是递归文件夹复制的子文件夹
- 将文件内容复制到字符串中