Hej,
Mam problem zwiazany z zapisem do pliku.
Potrzebuje aby program dopisywal do pliku kolejne wartosci zmiennych result_max_tre, result_mean_tre, result_sd_tre.
Jak na razie utknelam na etapie zapisu po kazdej iteracji petli, ale nie dopisuje.
Za kazdym razm altualizuje sie - mam jeden zestaw wartosci.
Tutaj moj kod :
int main()
{
ifstream fin;
ofstream saveFile;
string dir, filepath, savepath;
int num;
DIR *dp;
struct dirent *dirp;
struct stat filestat;
double result_max_tre=0, result_mean_tre=0, result_sd_tre=0;
dir = "/home/akrason/midP_project/Registration_Validation/TRE/scripts-tre/out2";
savepath = "/home/akrason/agata/ComputeTRE/results_file.txt";
dp = opendir(dir.c_str());
if(dp == NULL)
{
cout << "error !"<< endl;
}
saveFile.open(savepath.c_str());
saveFile <<"max_tre"<<" "<<"mean_tre"<<" "<<"sd_tre"<<" "<<endl;
while ((dirp = readdir(dp)))
{
filepath = dir + "/" + dirp->d_name;
if(stat(filepath.c_str(), &filestat)) continue;
if(S_ISDIR(filestat.st_mode)) continue;
fin.open(filepath.c_str());
if(fin >> num)
cout << filepath << ": " << num << endl;
result_max_tre=compute_max_tre(filepath.c_str());
result_mean_tre = compute_mean_tre(filepath.c_str());
result_sd_tre = compute_sd_tre(filepath.c_str());
cout << "Result max_tre : "<<result_max_tre << endl;
cout << "Result mean_tre : "<<result_mean_tre << endl;
cout << "Result sd_tre : " <<result_sd_tre << endl;
// Tutaj mam problem !!!!!
saveFile<<result_max_tre<<" "<<result_mean_tre<<" "<<result_sd_tre<<endl;
fin.close();
}
saveFile.close();
closedir(dp);
return 0;
}
Bede wdzieczna za kazda pomoc prosze.