Dopisywanie tekstu do pliku

0

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.

0

Dzieki Wielkie :) Dziala teraz ! Dzieki wielkie za bardzo przydatna wskazowke !

1 użytkowników online, w tym zalogowanych: 0, gości: 1