分享

C++文件批量生成与读写

 心不留意外尘 2016-03-12

利用C++的fstream流,批量生成文件,并对文件写入数据。

实现效果为:


注意输入扩展名是,前面需要加上".",比如".txt"

实现代码如下:

  1. <span style="font-size:18px;">#include <iostream>  
  2. #include <fstream>  
  3. #include <string>  
  4. #include <iomanip>  
  5. using namespace std;  
  6.   
  7. void WriteFile(ofstream &file)  
  8. {  
  9.     int LineNum,LineLength;  
  10.     int i,j;  
  11.     LineNum=1+rand()%50;  
  12.     for (i=1;i<=LineNum;i++)  
  13.     {  
  14.         LineLength=1+rand()%20;  
  15.         for (j=1;j<=LineLength;j++)  
  16.         {  
  17.             file<<rand()%1000<<" ";  
  18.         }  
  19.         file<<endl;  
  20.     }  
  21.     file.close();  
  22. }  
  23.   
  24. void CreateFile(int n)  
  25. {  
  26.     ofstream *file;  
  27.     file=new ofstream[n];  
  28.     string *filename;  
  29.     string sname,tname,str;  
  30.     cout<<"请输入文件的前缀名:";  
  31.     cin>>sname;  
  32.     cout<<"请输入文件的扩展名:";  
  33.     cin>>tname;  
  34.     filename=new string[n];  
  35.     int i,j;  
  36.     char a[10];  
  37.     for (i=1;i<=n;i++)  
  38.     {  
  39.         sprintf_s(a,"%d",i);  
  40.         str=a;  
  41.         filename[i-1]=sname+str+tname;  
  42.     }  
  43.     for (i=1;i<=n;i++)  
  44.     {  
  45.         file[i-1].open(filename[i-1],ios::out);  
  46.         WriteFile(file[i-1]);  
  47.     }  
  48. }  
  49.   
  50. int main()  
  51. {  
  52.     int FileNum;  
  53.     cout<<"请输入要创建的文件数目:";  
  54.     cin>>FileNum;  
  55.     CreateFile(FileNum);  
  56.     return 0;  
  57. }</span>  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多