// tr1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <memory>
#include <functional>
#include <iostream>
#include <boost/thread.hpp>
#include <boost/bind.hpp>
using namespace std;
HANDLE hFile = INVALID_HANDLE_VALUE;
struct MyOverlapped : public OVERLAPPED
{
int total_size;
DWORD file_size;
};
MyOverlapped o;
char g_chRead;
volatile DWORD g_Finished = 0;
HANDLE hEventRead = NULL;
HANDLE hEventWrite = NULL;
void CreateEvent()
{
hEventRead = CreateEvent(NULL, TRUE, FALSE, NULL);
hEventWrite = CreateEvent(NULL, TRUE, FALSE, NULL);
}
void CloseEvent()
{
CloseHandle(hEventRead);
hEventRead = NULL;
CloseHandle(hEventWrite);
hEventWrite = NULL;
}
void StartAsyncRead()
{
hFile = CreateFile(L"D:\\NetFox.rar", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_FLAG_OVERLAPPED, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
std::cout << "CreateFile failure.\n";
return;
}
o.
c++异步io学习笔记
最新推荐文章于 2025-10-24 21:34:05 发布
这篇博客介绍了如何使用C++进行异步IO操作,通过创建事件句柄并结合Boost库,实现了一个文件的异步读取和写入。在读取线程中,不断等待事件触发并读取文件内容,直到文件读取完毕;而在写入线程中,当接收到事件触发后,将读取的数据写入新的文件。

最低0.47元/天 解锁文章
2112

被折叠的 条评论
为什么被折叠?



