// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <conio.h>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
enum class FileIo
{
FI_NONE,
FI_READ,
FI_WRITE,
};
const int buffer_size = 10240000;
class MyOverlapped
{
public:
OVERLAPPED m_ol;
FileIo m_io;
char m_buffer[buffer_size];
int m_readPos;
int m_totalRead;
int m_writePos;
int m_totalWrite;
int m_fileSize;
CRITICAL_SECTION m_cs;
public:
MyOverlapped() : m_io(FileIo::FI_NONE), m_readPos(0), m_totalRead(0), m_writePos(0), m_totalWrite(0)
{
}
void Init()
{
m_io = FileIo::FI_NONE;
m_readPos = 0;
m_totalRead = 0;
m_writePos = 0;
m_totalWrite = 0;
::InitializeCriticalSection(&m_cs);
ZeroMemory(&m_ol, sizeof(m_ol));
}
void fini()
{
DeleteCriticalSection(&m_cs);
}
~MyOverlapped()
{
}
};
struct FileHandle
{
HANDLE hRead;
HANDLE hWri
异步读写文件
最新推荐文章于 2023-11-24 11:17:19 发布