如何快速生成数据文件(fsutil命令,使用CreateFile和SetEndOfFile API函数,fopen和fseek RTL函数)

1. fsutil 命令

文件会瞬间生成,因为实际上Windows只是分配了名称、地址和空间给该文件,并没有读写任何文件内容
100M=1024x1024x100
fsutil file createnew 1.dat 104857600

2.VC代码

[cpp] view plain copy
 
 print?
  1. HANDLE hFile=CreateFile(TEXT("text.txt"),GENERIC_READ | GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);  
  2.  if(hFile==INVALID_HANDLE_VALUE)  
  3.  {  
  4.   MessageBox(TEXT("创建文件失败!"));  
  5.   return;  
  6.  }  
  7.  LARGE_INTEGER liDistanceToMove;  
  8.  liDistanceToMove.QuadPart=102400000; //设置成这个大,单位字节  
  9.  if(!SetFilePointerEx(hFile,liDistanceToMove,NULL,FILE_BEGIN))  
  10.  {  
  11.   MessageBox(TEXT("移动文件指针失败!"));    
  12.  }  
  13.  if(!SetEndOfFile(hFile))  
  14.  {  
  15.   MessageBox(TEXT("设置文件尾失败!"));    
  16.  }  
  17.  CloseHandle(hFile);  

3.C文件

文件指针移到文件的末尾所显示的就是文件的大小,所以
我们在创建文件的时候,就可是可以使用seek函数把文件指针移到
我们要求大小的地方。
[cpp] view plain copy
 
 print?
    1. #include<stdio.h>  
    2. void main()  
    3. {  
    4. FILE *fp;  
    5. fp=fopen("data.dat","w+");  
    6. fseek(fp, 10000L,SEEK_END);  
    7. putw(0,fp);  
    8. fclose(fp);  
    9. }  

http://blog.csdn.net/greless/article/details/70237943

原文地址:https://www.cnblogs.com/findumars/p/7192464.html