problem z równoczesnym odczytem i zapisem do jednego pliku

0

Witam jestem nowy więc przepraszam jeżeli coś robię nie tak jak jest na tym forum.
Jak jest napisane w temacie mam problem z odczytem i zapisem danych na jednym pliku. Piszę w Borland 5 C++ program który działa na obiektach które zapisuję i odczytuję z pliku, mam go zrobić na zaliczenie. Działanie programu jest ok poza operacjami wejścia/wyjścia: odczytuje z pliku dane jednak gdy chcę zapisać do tego samego pliku to się nic nie dzieje(nie zapisuje danych do pliku, po kliknięciu jednego przycisku wywoływana jest funkcja odczyt a po kliknięciu drugiego zapis, przed obydwoma funkcjami jest sprawdzane czy dany plik istnieje za pomocą funkcji sprawdź, a przed zapisem dodatkowo po sprawdzeniu czyszczenie zawartości pliku jeżeli było wcześniej coś zapisane w nim . Bardzo proszę o pomoc. Oto kod.

void __fastcall czyszczenie(){
        ofstream zwCzysc("plik.txt", ios::out);
        zwCzysc.close();
}
void __fastcall sprawdz(){
         if (FileExists("plik.txt")){ } else {
                int uchwytPliku = FileCreate("plik.txt");
                FileClose(uchwytPliku);
        }
}

void __fastcall zapis(){
ofstream zwZapis(nazwaPlikuZW.c_str(), ios::trunc);
        for(int i = 0 ; i < s->ileWej() ; i++){
                for(int j = 0 ; j < s->getWej(i)->getIlosc() ; j++)
                        zwZapis << s->getWej(i)->getWar()[j] << " ";
        }
zwZapis.close();
}

void __fastcall odczyt(){
        if(ifstream("plik.txt", ios::ate).tellg()){
                ifstream zwOdczyt("plik.txt");
                double tmp = 1;
                for(int i = 0 ; i < s->ileWej() ; i++)
                        for(int j = 0 ; j < siec4->getWej(i)->getIlosc() ; j++){
                                zwOdczyt >> tmp;
                                s->getWej(i)->setWar(j, tmp);
                        }
zwOdczyt.close();
}
0

a masz zdefiniowaną gdzieś zmienną nazwaPlikuZW?
i na przyszłość, zamiast

 if (FileExists("plik.txt")){ } else {

pisz

 if (!FileExists("plik.txt")){
0

znaczy tą zmienną mam w programie tylko zapomniałem zmienić na "plik.txt", bo program jest troszkę większy, a w tym kodzie zostawiłem tylko te funkcje do zapisu i odczytu jak stworzyłem inny projekt w builderze to też nie działało ;/

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