使用readfile 和 writefile 复制文件
来源:互联网 发布:淘宝账户登录不上去 编辑:程序博客网 时间:2024/05/08 08:20
int main(int argc,char * argv[])
{
//文件信息
HANDLE hFile;
hFile = ::CreateFile("c://快记.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(INVALID_HANDLE_VALUE == hFile)
{
cout << "需要发送的文件不存在" << endl;
return 0;
}
//存放到内存中
DWORD dwLen = GetFileSize(hFile, NULL);
char *readBuf = new char[dwLen + 1];
memset(readBuf, 0, dwLen+1);
DWORD dwReadLen;
//将文件内容存放到 readBuf 中。然后将 readBuf 中的内容发送给客户端
ReadFile(hFile, readBuf, dwLen + 1, &dwReadLen, NULL);
int iCount = 0;
HANDLE hFile1 = ::CreateFile("c://hh.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
while (dwLen > DATA_BUFSIZE)
{
char *pBuf = new char[DATA_BUFSIZE+1];
memset(pBuf, 0, DATA_BUFSIZE+1);
MoveMemory(pBuf, readBuf+iCount*DATA_BUFSIZE, DATA_BUFSIZE);
DWORD dwWritenSize;
WriteFile(hFile1, pBuf, DATA_BUFSIZE, &dwWritenSize, NULL);
iCount++;
dwLen -= DATA_BUFSIZE;
}
char *pBuf = new char[dwLen+1];
memset(pBuf, 0, dwLen+1);
MoveMemory(pBuf, readBuf+iCount*DATA_BUFSIZE, dwLen);
DWORD dwWritenSize;
WriteFile(hFile1, pBuf, dwLen, &dwWritenSize, NULL);
delete pBuf;
return 0;
}
以上代码,将 C盘下 “快记.txt” 复制成另外一个文件 “hh.txt”
{
//文件信息
HANDLE hFile;
hFile = ::CreateFile("c://快记.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(INVALID_HANDLE_VALUE == hFile)
{
cout << "需要发送的文件不存在" << endl;
return 0;
}
//存放到内存中
DWORD dwLen = GetFileSize(hFile, NULL);
char *readBuf = new char[dwLen + 1];
memset(readBuf, 0, dwLen+1);
DWORD dwReadLen;
//将文件内容存放到 readBuf 中。然后将 readBuf 中的内容发送给客户端
ReadFile(hFile, readBuf, dwLen + 1, &dwReadLen, NULL);
int iCount = 0;
HANDLE hFile1 = ::CreateFile("c://hh.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
while (dwLen > DATA_BUFSIZE)
{
char *pBuf = new char[DATA_BUFSIZE+1];
memset(pBuf, 0, DATA_BUFSIZE+1);
MoveMemory(pBuf, readBuf+iCount*DATA_BUFSIZE, DATA_BUFSIZE);
DWORD dwWritenSize;
WriteFile(hFile1, pBuf, DATA_BUFSIZE, &dwWritenSize, NULL);
iCount++;
dwLen -= DATA_BUFSIZE;
}
char *pBuf = new char[dwLen+1];
memset(pBuf, 0, dwLen+1);
MoveMemory(pBuf, readBuf+iCount*DATA_BUFSIZE, dwLen);
DWORD dwWritenSize;
WriteFile(hFile1, pBuf, dwLen, &dwWritenSize, NULL);
delete pBuf;
return 0;
}
以上代码,将 C盘下 “快记.txt” 复制成另外一个文件 “hh.txt”
- 使用readfile 和 writefile 复制文件
- 读写文件函数ReadFile和WriteFile解析
- C++中WriteFile和ReadFile使用
- C++中WriteFile和ReadFile使用
- C++中WriteFile和ReadFile使用
- WriteFile和ReadFile函数
- WriteFile和ReadFile函数
- WriteFile和ReadFile函数
- WriteFile和ReadFile函数
- WriteFile和ReadFile函数
- C/C++ 文件操作之CreateFile、ReadFile和WriteFile
- C/C++ 文件操作之CreateFile、ReadFile和WriteFile
- CreateFile,ReadFile,WriteFile使用记录
- Lua中WriteFile和ReadFile
- CreateFile ReadFile WriteFile读写文件操作
- <Win32 API> 文件操作CreateFile/ReadFile/WriteFile
- [Win32]ReadFile/WriteFile 的文件同步读写
- win32 CreateFile readFile writefile 文件读写
- 写给想当程序员的朋友(转)
- onclick事件锦集
- 为什么怕鬼
- 如何实现ObjectDataSource与GridView的分页操作
- 详尽解析window.event对象
- 使用readfile 和 writefile 复制文件
- Lotus Notes 日历的【打印到文档】功能,简单而强大!
- 还原数据库
- C++虚函数问题
- jsp开发中中文传值加密解密
- 查出表的各个字段的所有属性
- 青年节为啥不放假???!!!
- 解读《输赢》:输赢在哪里?
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(16):start_kernel