我无法理解,为什么我无法使用此代码向该文件添加数据
这里我使用的是+,但它并没有附加到文件的末尾
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);
我将感谢您的帮助,提前谢谢您!
答案 0 :(得分:1)
您正在混合两个不同的流:使用fopen打开的C流和使用默认打开模式打开的C ++流。在你的代码中,第一个是无用的。
您可以尝试:
#include <fstream>
int main() {
std::ofstream fout ("p_all.txt", std::ios_base::app);
fout << "Hello\n";
}