文件操作:一次性产生多个文件

在开始介绍批量产生文件之前,我们先来了解一下sprintf这个函数:

函数原型为 int sprintf(char *str, const char *format, ...)

(1)根据格式从字符串中提取数据。如从字符串中取出整数、浮点数和字符串等。

(2)取指定长度的字符串

(3)取到指定字符为止的字符串

(4)取仅包含指定字符集的字符串

(5)取到指定字符集为止的字符串

其实说白了,这个函数用法跟printf没什么两样,就是支持,格式化输入。那么,如何可以产生多个文件呢?

请看代码:

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
char File_name[10] ;
static int i ;

int main(void)
{
	int fd ;
	for(i = 0 ; i < 1024*1024 ; i++){   //一次性可以产生N多个文件,别玩过火,小心电脑坏掉,哈哈
		sprintf(File_name,"file%d",i);
		fd = open(File_name,O_RDWR | O_CREAT | O_TRUNC) ;
		if(fd < 0)
		{
			perror("File Exist");
			return -1 ;
		}
		printf("open file%d  success\n",i);
		close(fd);
	}
	return 0 ;
}

那么这东西有什么用途呢?比如你想黑一下别人,你可以看我之前写过的产生空洞文件的方法,产生10个1G的空洞文件,或者100个。。。(代码我就不完全贴了,文章在下面,自己去看吧),谨慎尝试,后果自负。
http://blog.csdn.net/morixinguan/article/details/50646738

时间: 2024-07-30 12:25:24

文件操作:一次性产生多个文件的相关文章

windows.vbs.FSO.文件操作信息.磁盘驱动信息.文件夹操作信息全集_vbs

源址: http://www.zhouguoqing.com.cn/article.asp?id=50 ' FSO 文件操作相关 ' FSO 参数详解: ' Fso.IsRootFolder=True|False  '是否为根目录 ' Fso.GetFolder    '读取文件夹  用法:Set fldr = fso.GetFolder("C:\\目录2") ' Fso.FolderExists=True|False  '查找此文件夹是否存在 ' Fso.CreateFolder  

ASP FSO文件操作函数代码(复制文件、重命名文件、删除文件、替换字符串)_应用技巧

FSO文件(File)对象属性 DateCreated 返回该文件夹的创建日期和时间 DateLastAccessed 返回最后一次访问该文件的日期和时间 DateLastModified 返回最后一次修改该文件的日期和时间 Drive 返回该文件所在的驱动器的Drive对象 Name 设定或返回文件的名字 ParentFolder 返回该文件的父文件夹的Folder对象 Path 返回文件的绝对路径,可使用长文件名 ShortName 返回DOS风格的8.3形式的文件名 ShortPath 返

android文件操作——读取assets和raw文件下的内容_Android

来自Resources和Assets 中的文件只可以读取而不能进行写的操作. assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets() 来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream. 3. 然后就是用已经open fi

android文件操作——读取assets和raw文件下的内容

来自Resources和Assets 中的文件只可以读取而不能进行写的操作. assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets() 来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream. 3. 然后就是用已经open fi

C# 文件操作(上传 下载 删除 文件列表...)

上传|下载 using System.IO; 1.文件上传----------如下要点:HTML部分:<form id="form1" runat="server" method="post" enctype="multipart/form-data"><input id="FileUpLoad" type="file" runat="server"

文件操作-socket套接字文件传输问题,非文本文档无法传输

问题描述 socket套接字文件传输问题,非文本文档无法传输 Linux下使用套接字文件传输,只能传输文本文件,非文本文件读取时无法完全读入,读了很少一部分就停止读入了,求大神解决! 解决方案 最好有报头和报体,报头存放身份识别和报体长度等信息. 报体如果是二进制流,则需要读取原生二进制,读取长度为报体给出的长度. 所以先定义传输格式再传输,这样不管接收什么样的文件都不会有问题了. 希望能够帮到你.

文件操作-c语言实现txt文件读取

问题描述 c语言实现txt文件读取 VC编译器下c语言没有办法打开TXT文件.代码如下:#include #includevoid main() { FILE *fp; if((fp=fopen(""C:UsersAdministratorDesktopad.txt""r""))==NULL) { printf(""cannot open the file!""); exit(0); } else prin

Java文件操作之按行读取文件和遍历目录的方法_java

按行读取文件 package test; import java.io.*; import java.util.*; public class ReadTest { public static List<String> first_list; public static List<String> second_list; public ReadTest() { first_list = new LinkedList<>(); second_list = new Link

Node.js本地文件操作之文件拷贝与目录遍历的方法_node.js

文件拷贝NodeJS 提供了基本的文件操作 API,但是像文件拷贝这种高级功能就没有提供,因此我们先拿文件拷贝程序练手.与 copy 命令类似,我们的程序需要能接受源文件路径与目标文件路径两个参数. 小文件拷贝我们使用 NodeJS 内置的 fs 模块简单实现这个程序如下. var fs = require('fs'); function copy(src, dst) { fs.writeFileSync(dst, fs.readFileSync(src)); } function main(a

perl几个文件操作例子_perl

perl用的最多的地方就算是文件处理了,下面我就总结了一下perl文件操作的一些东西,并且有具体的例子,通过下面的例子,加强我们对perl文件操作的理解. 删除文件 使用unlinke函数,比如unlink $file, unlink $file1, $file2, $file3 打开文件 使用三参数的形式打开文件,这样非常便于区分模式和文件名,perl 5.6之后的版本都支持这种方式. 复制代码 代码如下: #Open the 'txt' file for reading open FH, '