C++ 创建指定大小的空白文件

来源:互联网 发布:unity3d rpg 编辑:程序博客网 时间:2024/06/05 19:32

有时候我们需要创建指定大小的空白文件,我们可以使用Windows下的api CreateFileMapping创建

// 创建的文件总大小 = dwHigh * 4G + dwLow// 当总大小小于4G时,dwHigh可以设置为0,dwLow数字最大为4G - 1DWORD CreateNullFile(DWORD dwHigh, DWORD dwLow, char* pszName){    DWORD dwResult = 0;    HANDLE hFile = CreateFile(pszName, GENERIC_READ | GENERIC_WRITE,        FILE_SHARE_READ | FILE_SHARE_WRITE,        NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);    if (INVALID_HANDLE_VALUE == hFile)    {        return GetLastError();    }    HANDLE hFileMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE, dwHigh, dwLow, NULL);    if (NULL == hFileMap)    {        return GetLastError();    }    CloseHandle(hFileMap);    CloseHandle(hFile);    return dwResult;}

参考了该博客:http://blog.csdn.net/xinchimaker/article/details/6250524

原创粉丝点击