C++ 使用fopen(“name.txt”,a+;)将数据添加到文件中
我不能得到它,为什么我不能用这个代码向文件中添加数据 在这里,我使用的是+,但它根本没有附加到文件的末尾C++ 使用fopen(“name.txt”,a+;)将数据添加到文件中,c++,file,append,fopen,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 retur
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);
双马锡乌伊[43];
文件*文件;
file=fopen(“p_all.txt”、“a+”);
(p_all.txt);
fout EPS){
n=n+1;
xd=xd/2;
xm=xl+xd;
signfxl=(返回值大于0)?1:-1;
signfxm=(f(xm,Li[i],di[i],L0)>0)?1:-1;
如果(signfxl!=signfxm){
xr=xm;
打破
}否则{
xl=xm;
打破
}
}
FUT你混合了两个不同的流:C流是用FOpenD打开的,C++流是以默认的打开模式打开的。在您的代码中,第一个是毫无用处的
您可以尝试:
#include <fstream>
int main() {
std::ofstream fout ("p_all.txt", std::ios_base::app);
fout << "Hello\n";
}
#包括
int main(){
std::ofstreamfout(“p_all.txt”,std::ios_base::app);
fout为什么在同一个文件上使用两个流?@DieterLücking,对不起,你是什么意思?