使用fopen(“name.txt”,a +)将数据添加到文件

时间:2014-04-17 08:15:28

标签: c++ file append fopen

我无法理解,为什么我无法使用此代码向该文件添加数据

这里我使用的是+,但它并没有附加到文件的末尾

double massiv_of_yi[43];

FILE *file;

file = fopen("p_all.txt", "a+");
ofstream fout ("p_all.txt");
fout << "New variables " << "\n";

for(int i = 0; i < 43; i++) {

   double returned_xl = f(xl, Li[i], di[i], L0);
   double returned_xr = f(xr, Li[i], di[i], L0);

   while ( abs(returned_xl)>EPS || abs(returned_xr)>EPS ) {   
      n = n + 1;                   
      xd = xd / 2;                  
      xm = xl + xd;                 
      signfxl = ( returned_xl > 0 ) ? 1 : -1;
      signfxm = (f(xm, Li[i], di[i], L0) > 0 ) ? 1 : -1;

      if ( signfxl != signfxm ) {    
         xr = xm;                  
         break;
      } else {                        
         xl = xm;                   
         break;
      }
   }
   fout << i+1 << ") " << (xl + xr) / 2 << "\n";
   massiv_of_yi[i] = (xl + xr) / 2; 
}

   fout << "\n" << "\n";

   fclose(file);

我将感谢您的帮助,提前谢谢您!

1 个答案:

答案 0 :(得分:1)

您正在混合两个不同的流:使用fopen打开的C流和使用默认打开模式打开的C ++流。在你的代码中,第一个是无用的。

您可以尝试:

#include <fstream>
int main() {
    std::ofstream fout ("p_all.txt", std::ios_base::app);
    fout << "Hello\n";
}