当前位置:   article > 正文

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

c++创建固定大小的空文件

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

// 创建的文件总大小 = dwHigh * 4G + dwLow
// 当总大小小于4G时,dwHigh可以设置为0,dwLow数字最大为4G - 1
DWORD 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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/191365
推荐阅读
相关标签
  

闽ICP备14008679号