我不明白,为什么我不能使用此代码将数据添加到文件中

我在这里使用a +,但是它根本没有附加到文件末尾

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);

感谢您的帮助,在此先感谢您!

最佳答案

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

您可以尝试:

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

09-25 19:31