我不明白,为什么我不能使用此代码将数据添加到文件中
我在这里使用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";
}