创建固定大小的临时空文件

来源:互联网 发布:linux apache 加载php 编辑:程序博客网 时间:2024/05/15 11:11

这是网上的一个示例

/* /* 创建指定大小的空文件,支持超大文件(16EB),小于4GB时,  /* 参数dwHigh可传入0, /* 成功返回0, 失败返回错误代码 */ BOOL CreateNullFile(DWORD dwHigh, DWORD dwLow, LPCTSTR lpcszFileName) { BOOL bResult = FALSE; // 创建文件对象HANDLE hFile = ::CreateFile(lpcszFileName, GENERIC_READ | GENERIC_WRITE,  FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (INVALID_HANDLE_VALUE == hFile) { return (BOOL)::GetLastError(); } // 创建文件映射对象HANDLE hFileMap = ::CreateFileMapping(hFile, NULL, PAGE_READWRITE, dwHigh, dwLow, NULL); if (NULL == hFileMap) { return (BOOL)::GetLastError(); } ::CloseHandle(hFileMap); ::CloseHandle(hFile); return bResult; }

这里记录下怎么用;比如:在Windows程序下,这里建立WinTest的win32程序

.在WinTest.cpp中的int APIENTRY _tWinMain()函数中加入

// TODO: 在此放置代码。CString str;str = C:\\Users\\Administrator\\Desktop\\CommonTest\\buy.exeCreateNullFile(0, 1024, str);   // 这里创建一个1024字节的路径为str名字为buy.exe的空文件

编译运行就可以在C:\\Users\\Administrator\\Desktop\\CommonTest文件夹下有一个名为buy.exe的1024Bytes的空文件。

原创粉丝点击