[C语言]1s内创建10G文件

浏览:
字体:
发布时间:2013-12-15 22:18:54
来源:

今天学长让我帮他写一个程序,1s内创建一个10 Gb的文件,(他是做大数据的)。我刚刚开始用一般的做法,那是相当浪费时间,后来从网上找了半天,看到了一个貌似很有希望的程序,但是我也不是很懂,这里我只是给大家看看程序,我也不知道创建这么大的文件有什么用!

其实这里就是区别fputc与fwrite这两个函数,两者所用时间有很大差别!

用fputc执行效果:(1G大概用了30s吧)

/

图1 fputc执行效果

fwrite执行效果:

/

图2 fwrite执行效果

可以看出,fwrite基本上是立即执行完!

 

#include #include #include #include #pragma comment( lib,"winmm.lib" )void main(){	unsigned long i, block,filesize;	char type;	FILE *fd;	char filename[64];	fpos_t pos;	DWORD s_time,p_time;	printf("Input your file name:");	scanf("%s",filename);	fd = fopen(filename,"wb+");	if(fd == NULL)	{		perror("Create file Fail:");		return ;	}setsize:	printf("Input file size:");	scanf("%d%c",&filesize,&type);	s_time = clock();	fgetpos (fd,&pos);	switch(type)	{		case 'K':		case 'k':block = 0x400; break;		case 'M':		case 'm':block = 0x100000;break;		case 'G':		case 'g':			block = 0x40000000;			for(i=0; i

 

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();