警告:恶作剧软件,慎用!仅供初学者研究代码所用!!!

提示:默认文件创建目录在"D:\test",如果需要使用的话请自行更改目录。

1. Windows API 版本 (调用系统函数,速度较快)

#include <cstdio>
#include <cstdlib>
#include <windows.h>
#include <iostream>
#include <string.h> using namespace std; #define CREATE_FILE_NUM 5 #pragma comment(lib,"ws2_32") int main(void)
{
char path[255] = "\0"; //文件路径配置
char stuff_str[255] = "\0"; //文件写入内容
char fileName[255] = "\0"; //文件名
HANDLE hfile = NULL; //文件句柄
DWORD count; //记录写入函数返回的成功字符数
strcat(stuff_str,"------PeterZheng------");
for (int i = 0 ; i < CREATE_FILE_NUM ; i++)
{
memset(path,0x00,255);
memset(fileName,0x00,255);
strcat(path,"D:\\test"); //文件填充目录
wsprintf(fileName,"\\%d.txt",i);
strcat(path,fileName);
hfile = CreateFile(path,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); //打开文件
if (hfile == INVALID_HANDLE_VALUE) //异常处理
{
continue;
}
WriteFile(hfile,&stuff_str,sizeof(stuff_str),&count,NULL); //写文件
CloseHandle(hfile); //关句柄
}
printf("OK");
return 0;
}

2. C语言内部函数版本(c语言内部对系统函数做了封装,调用简单,但速度相对较慢,功能较少)

#include <cstdio>
#include <cstdlib>
#include <windows.h>
#include <iostream>
#include <string.h> using namespace std; #define CREATE_FILE_NUM 5 #pragma comment(lib,"ws2_32") int main(void)
{
int count = 0;
FILE *fp = NULL;
char path[255] = "\0";
char fileName[255] = "\0";
char stuff_str[255] = "------PeterZheng------";
for (int i = 0 ; i < CREATE_FILE_NUM ; i++)
{
strcat(path,"D:\\test\\");
wsprintf(fileName,"%d.txt",i);
strcat(path,fileName);
printf("%s\n",path);
fp = fopen(path,"w+");
fwrite(stuff_str,sizeof(stuff_str),1,fp);
memset(path,0x00,255);
}
fclose(fp);
return 0;
}

Windows API初练手 -- 疯狂写文件代码的更多相关文章

  1. Windows PE变形练手1-用PE自己的机器码修改自己的逻辑

    PE变形练手1-用PE自己的机器码修改自己的逻辑 就是找一个PE文件,用自己的部分代码部分覆盖或者而修改自己另一个代码部分的补丁姿势(现实中使用很少,极少数破解可以用到.这次例子目的是了解PE). 第 ...

  2. Windows PE变形练手3-把通用模板机器码直接覆盖目标PE

    把通用模板机器码直覆盖目标PE 这个地方真是尝试了好久,遇到很多坑点,Win PE那本书上的东西有点不够,也就直接写书上的例子会发现很多地方不是说的那样,里面提供的信息太少了,就比如里面并没有提被注入 ...

  3. Windows PE变形练手2-开发一套自己的PE嵌入模板

    PE嵌入模板 编写一段代码,生成一个已经处理过重定位信息,同时所有的内容都在代码段里,并且没有导入表的PE程序,把这个程序嵌入到其他PE的相关位置,能够独立的运行,接下来是整理了2个模板,一个是Hel ...

  4. 使用Windows api 获得系统时间并生成文件夹

    // 使用window api 获得系统时间 // 生成 #include "stdafx.h" #include <Windows.h> #include <d ...

  5. Golang初练手-多线程网站路径爆破

    以前用Python写过这个工具,前两天看了golang的基础,就想着用这个语言把这个工具重写一遍 先放张图 用法 Example : Buster.exe -u=https://www.baidu.c ...

  6. Selenium_WebDriver登录模拟鼠标移动切换窗体等操作练习(cssSelector初练手)_Java

    cssSelector 据说cssSelector比xpath快. 所以,有固定ID属性的页面元素用By.id或者By.cssSelector("#id属性值")来找,有class ...

  7. 【HDFS API编程】图解客户端写文件到HDFS的流程

  8. 用 Windows Live Writer 和 SyntaxHighlighter 插件写高亮代码

    博客园内置支持SyntaxHighlighter代码着色,代码着色语法:<pre class='brush:编程语言'>代码</pre>. 需要注意的是:如何你使用Syntax ...

  9. 练手小游戏(代码篇之敌人AI

    诶呀~又没有更新微博,去拔牙了,疼死了,休息了几天过来接着写代码~ 首先是Base.写了一个框架,照别人扒的. Base分三部分,AILocomotion(AI移动),Steering(行为基类),V ...

随机推荐

  1. 剑指 Offer 32 - I. 从上到下打印二叉树 + 层次遍历二叉树

    剑指 Offer 32 - I. 从上到下打印二叉树 Offer_32_1 题目描述 解题思路 这题属于简单题,考察的是我们对二叉树以及层次遍历的方法. 这里只需要使用简单的队列即可完成二叉树的层次遍 ...

  2. PAT-1064(Complete Binary Search Tree)JAVA实现

    Complete Binary Search Tree PAT-1064 本次因为涉及到完全二叉排序树,所以可以使用数组的形式来存储二叉排序树 对输入序列排序后,得到的是中序遍历二叉排序树的序列.对这 ...

  3. Java 常见对象 03

    常见对象·StringBuffer类 StringBuffer类概述 * A:StringBuffer类概述 * 通过 JDk 提供的API,查看StringBuffer类的说明 * 线程安全的可变字 ...

  4. Java 面向对象 03

    面向对象·三级 代码块的概述和分类 * A:代码块概述     * 在Java中,使用 { } 括起来的代码被称为代码块. * B:代码块分类     * 根据其位置和声明的不同,可以分为局部代码块, ...

  5. 手把手教你集成华为机器学习服务(ML Kit)人脸检测功能

    当给自己拍一张美美的自拍照时,却发现照片中自己的脸不够瘦.眼睛不够大.表情不够丰富可爱-如果此时能够一键美颜瘦脸并且添加可爱的贴纸的话,是不是很棒? 当家里的小孩观看iPad屏幕时间过长或者眼睛离屏幕 ...

  6. phpMyAdmin Transformation 任意文件包含/远程代码执行漏洞

    漏洞参考 https://yq.aliyun.com/articles/679633 国外提供了一个在线测试的靶场     默认密码  root  toor https://www.vsplate.c ...

  7. PyCharm之python package和directory的区别

    python作为一门解释性的脚本语言.python中模块就是指一个py文件,如果我们将所有相关的代码都放在一个py文件中,则该py文件既是程序又是是模块,但是程序和模块的设计目的是不同的,程序的目的是 ...

  8. Solon 框架详解(十一)- Solon Cloud 的配置说明

    Solon 详解系列文章: Solon 框架详解(一)- 快速入门 Solon 框架详解(二)- Solon的核心 Solon 框架详解(三)- Solon的web开发 Solon 框架详解(四)- ...

  9. sort函数用于vector向量的排序

    参考资料: 关于C++中vector和set使用sort方法进行排序 作者注:这篇文章写得相当全面,包括对vector和set中不同数据类型(包括结构体)的排序,还有一些还没看懂--特作此摘录,供当前 ...

  10. python之commands和subprocess入门介绍(可执行shell命令的模块)

    一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. com ...