Windows创建指定大小

本文介绍了一种利用文件映射技术快速创建大文件的方法,并提供了具体的C/C++实现代码示例。通过这种方法,可以在短时间内创建指定大小的文件,包括超过4GB的大文件。文章还说明了操作过程中需要注意的一些限制条件,如文件大小限制和磁盘空间不足时的错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用文件映射可以瞬间创建一个空的大文件。

 

VOID CreateSpecifiedSizeFile(DWORD dwSizeHigh, DWORD dwSizeLow)

{

 

    HANDLE hFile = CreateFile(_T("1.txt"), GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);

 

    if (hFile != INVALID_HANDLE_VALUE)
    {
        HANDLE hFileMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE, NULL, dwSize, NULL);
        if (hFileMap)
        {
            CloseHandle(hFileMap);
            hFileMap = NULL;
        }
        CloseHandle(hFile);
        hFile = INVALID_HANDLE_VALUE;
    }

 

}

 

dwSizeLow < 4*1024*1024*1024 (当dwSizeHigh为0时。否则报错0x000003ee 文件所在的卷已被外部更改,因此打开的文件不再有效。

dwSizeHigh 表示文件超过4G,当dwSizeHigh = 1,dwSizeLow = 0:文件大小为4G

当磁盘空间不足时,错误码:0x70

 

 

ERROR_DISK_FULL
112

There is not enough space on the disk.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值