C++ fprintf不写入文件
有人看到了吗,为什么printf工作正常时fprintf不写入文件C++ fprintf不写入文件,c++,printf,C++,Printf,有人看到了吗,为什么printf工作正常时fprintf不写入文件 FILE* database; database = fopen("database.txt", "a+"); for (x=-200; x<200; x=x+10) { TH1F *hist_Deg = new TH1F("h1", "title", 250, -0.5, 249.5); for (j=5000; j<5010; j++) { sprintf(
FILE* database;
database = fopen("database.txt", "a+");
for (x=-200; x<200; x=x+10)
{
TH1F *hist_Deg = new TH1F("h1", "title", 250, -0.5, 249.5);
for (j=5000; j<5010; j++)
{
sprintf(filename,"electronsrough/105.000000MeV/x%d/y0/process%d.txt", x,j);
FILE* pfile =fopen(filename,"r");
while(!feof(pfile))
{
fscanf(pfile, "%lf /n", &p);
hist_Deg->Fill(p);
}
fclose(pfile);
}
meana = hist_Deg->GetMean();
f->SetPoint(i, x, meana);
i=i+1;
fprintf(database, "%f\n", meana);
printf("%f\n", meana);
delete hist_Deg;
}
printf将meana输出到comman行,但是
文件database.txt已创建,但仍为空。刷新并关闭数据库文件应该可以完成这项工作
fprintf(database, "%f\n", meana);
fflush(database);
fclose(database);
非常感谢。好的,如果我输了,当然我必须在循环中打开。作品还有一个问题:我现在总是写到文件的末尾。当我启动一个程序时,如何删除所有条目?@Katju而不是用fopen打开…,a+专门表示append,用w或w+打开意味着write。