程序中,第一次生成文本文件后,需要在每次循环中修改部分数据
例如:
   fstream fi("a.txt");
   double data[100];
   for(int i=0;i<100;i++)
   {
       a[i] = i+1;
        fi<<a[i]<<endl;
   }
   fi.close();
  下面我需要更改文件中前20个数据,下面的80个不变,应该怎么做呢

解决方案 »

  1.   

    >>处理后再<<
    最好用临时文件
      

  2.   

    fstream fi("a.txt");
       double data[100];
       for(int i=0;i<100;i++)
       {
           a[i] = i+1;
            fi>>a[i]>>endl;
       }
       for(int j=0 ;j <20;j++)
       {
            a[j]=newVal;
        }
        for( i=0;i<100;i++)
        {
           a[i] = i+1;
            fi>>a[i]>>endl;
        }
      
       fi.close();
      

  3.   

    请问:>>处理后再<<是什么意思
    二楼:真实情况是数据有上万个,将生成的文本文件,导入Ansys中进行有限元计算,
    其中有的是实数,有的是字符串,如果每次都全部重新覆盖一次,好像太浪费了,
    请问有更好的方法吗
      

  4.   

    应该是:fstream  fi("a.txt");  
         double  data[100];  
         for(int  i=0;i<100;i++)  
         {  
                 data[i]  =  i+1;  
                   fi<<data[i]<<endl;  
         }  
         fi.close();