Windows下快速创建指定大小的空文件

前言

为什么要创建空文件?

当初,我是为了给网吧服务器的缓存盘做占位。。

我不知道WWDS的开发是怎么想的?又或者他们缺乏经验?

如果选用了一固态硬盘做缓存盘,那么它会只给硬盘保留5G的可用空间,其余空间全部用做缓存!这显然是缺乏常识的做法!因为固态硬盘的可用空间太低,会影响性能!

面对这种情况,最好的做法是在启用功能前先把固态硬盘分区,保留一定的空间。。

已经启用的情况,又不想去折腾,所以我选择创建一个2、30G的空文件做占位,不让WWDS使用!因为是空文件,实际并没有任何数据,理论上并不会影响固态硬盘的擦写平衡等,也就不会影响性能了。。

当然,空文件还有其它妙用,这里就不讲了。。 

盘它

Windows中提供了一个强大的文件系统管理工具:fsutil.exe

 它很强大,有非常多的功能,但是这里只讲如何用它创建空文件。

例1,在Z盘上创建一个空文件file.txt,文件大小1073741824字节,也就是1G:

fsutil file createnew Z:\file.txt 1073741824

如图:

例2,将file.txt文件的大小更改为1024个字节(1K):

fsutil file setEOF Z:\file.txt 1024

如果file.txt文件小于1024字节,那么会自动在文件尾添加空数据。如果文件大于1024字节,则会把后面的数据截断!

例3,使用空数据覆盖文件中的内容:

fsutil file setZeroData offset=100 length=99 Z:\file.txt

命令行中offset是偏移位置,offset=100表示从文件的第101个字节开始覆盖,length=99表示覆盖长度为99个字节。。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 下面是 MFC 中创建文件并向文件中写入内容的代码: ``` CFile file; if (file.Open(_T("test.txt"), CFile::modeCreate | CFile::modeWrite)) // 创建文件 { CString strContent = _T("Hello, World!"); // 写入的内容 file.Write(strContent, strContent.GetLength() * sizeof(TCHAR)); // 写入内容 file.Close(); // 关闭文件 } else { AfxMessageBox(_T("Failed to create file!")); // 创建文件失败 } ``` 这段代码会在程序所在目录下创建一个名为 "test.txt" 的文件,并向文件中写入字符串 "Hello, World!"。需要注意的是,写入内容时需要将字符串转换为字节流,因此要乘上 sizeof(TCHAR) 的大小。同时,写入完成后需要手动关闭文件。如果创建文件失败,则会弹出一个提示框提示失败信息。 ### 回答2: MFC(Microsoft Foundation Class,即微软基础类)是一种用于开发Windows应用程序的类库,它提供了许多可以简化应用程序开发的功能。下面是使用MFC创建文件并向文件中写入内容的代码示例: ```cpp #include <iostream> #include <fstream> #include <afx.h> void CreateAndWriteFile() { try { // 创建一个文件 CStdioFile file; CString filepath = _T("C:\\example.txt"); BOOL isSuccess = file.Open(filepath, CFile::modeCreate | CFile::modeWrite); if (!isSuccess) { throw CFileException(filepath); } // 向文件中写入内容 CString content = _T("这是文件中的内容"); file.WriteString(content); // 关闭文件 file.Close(); std::cout << "文件创建并写入成功!" << std::endl; } catch (CFileException* e) { std::cout << "文件创建或写入失败,错误代码:" << e->m_lOsError << std::endl; e->Delete(); } } int main() { CreateAndWriteFile(); return 0; } ``` 以上代码中,使用CStdioFile类来创建文件并打开一个文件用于写入。指定文件路径为`C:\example.txt`。通过调用`Open()`函数指定`modeCreate`表示创建文件,`modeWrite`表示以写入模式打开文件。如果文件创建或打开失败,则抛出`CFileException`异常,并输出错误代码。如果文件创建成功,则使用`WriteString()`函数向文件中写入内容。最后,关闭文件并输出成功信息。 这是一个简单的示例,你可以根据实际需求进行更加复杂的文件操作。 ### 回答3: MFC(Microsoft Foundation Classes)是一个用于快速开发Windows应用程序的类库。要在MFC中创建一个文件并向其中写入内容,可以按照以下步骤进行编码: 1. 首先在MFC应用程序中创建一个新的文档类(CMyDoc),以便处理文件操作。 2. 在文档类的构造函数中添加文件创建和写入代码。假设要创建一个名为"example.txt"的文本文件,并在其中写入"Hello World!",代码如下: ```cpp CMyDoc::CMyDoc() { CFile file; if (file.Open(_T("example.txt"), CFile::modeCreate | CFile::modeWrite)) { CString content = _T("Hello World!"); file.Write(content, content.GetLength() * sizeof(TCHAR)); file.Close(); } } ``` 3. 在应用程序的初始化代码(例如InitInstance函数)中创建文档类的实例,并将其设置为主框架窗口的文档。代码如下: ```cpp BOOL CMyApp::InitInstance() { CWinApp::InitInstance(); CMyDoc* pDoc = new CMyDoc; m_pMainWnd->SetWindowText(_T("MFC File Example")); m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); m_pMainWnd->SetActiveWindow(); return TRUE; } ``` 以上代码在应用程序初始化时创建了一个名为"example.txt"的文件,并在其中写入了"Hello World!"。确保文件操作的路径正确,并用正确的文件名和内容替换相应的部分。 请注意,这只是一个简单的示例,并假定你已经了解并设置好了MFC应用程序的基本结构和框架。实际应用中,你可能需要处理更多的错误检查和其他文件操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyyx2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值