Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z zapisem do pliku

Ostatnio zmodyfikowano 2018-03-28 19:49
Autor Wiadomość
Mr_Surykatek
Temat założony przez niniejszego użytkownika
Problem z zapisem do pliku
» 2018-03-28 18:59:14
Witam,
pisze program symulujacy działanie kasy fiskalnej. W funkcji polegającej na zapisywaniu wprowadzonej nazwy i ceny przedmiotu do pliku z paragonem nie mam żadnych błędów A jednocześnie program nie chce zapisywać tych informacji w pliku. Pomocy !
pierwsza funkcja:

void paragon1()
{
ofstream paragon("paragon.txt", ios::out | ios::trunc | ios::app);
paragon << "MACIEX";
paragon << "ulica";
paragon << "kod Wroclaw";
paragon << "0282636282";
paragon << "PARAGON FISKALNY\n----------------------";
paragon.close();
sell(0, 0);
}

oraz druga z która jest ten sam problem

void prodname(int ilosc, string nazwaprod, int cena, int suma)
{
cout << nazwaprod << " " << ilosc << "x" << cena << " zl\t" << suma << " zl" << endl;

ofstream paragon("paragon.txt", ios::out| ios::trunc | ios::app);
paragon << nazwaprod << " " << ilosc << "x" << cena << " zl\t" << endl;
paragon.close();
}

informacje sa zapisywane przez funkcję która odpala się w kolejności jako ostatnia. oto ona:

void paragon2(float suma, int reszta)
{
ofstream paragon("paragon.txt", ios::out | ios::trunc);
paragon << "SUMA PLN\t";
paragon << suma;
paragon << endl;
paragon << "Zaplacono:\t";
paragon << suma + reszta;
paragon << endl;
paragon << "RESZTA:\t";
paragon << reszta;
paragon << endl;
paragon.close();
}

dodaje iż mogę robić głupie błędy ponieważ wracam do programowania po długiej przerwie. jeżeli potrzeba całego kodu proszę o kontakt w prywatnej wiadomości lub w odpowiedzi do tego postu. Proszę o rozważenie mojego problemu.
P-170331
Glazus
» 2018-03-28 19:42:07
Kod wklejaj w znacznikach
[cpp][/cpp]
.

Poza tym polecam: http://cpp0x.pl/kursy/Kurs-C++/Obsluga-plikow/305

Znajdziemy tam, że:

C/C++
ios::trunc /* (truncate) Zawartość pliku jest tracona, plik jest obcinany do 0 bajtów podczas otwierania. */
ios::app /* (append - dopisywanie danych do pliku) Ustawia wewnętrzny wskaźnik zapisu pliku na jego koniec. Plik otwarty w trybie tylko do zapisu. Dane mogą być zapisywane tylko i wyłącznie na końcu pliku. */

Ty z kolei stosujesz obie te flagi.
P-170333
Monika90
» 2018-03-28 19:49:58
ios::trunc | ios::app jest niedozwoloną kombinacją flag, plik nie zostanie utworzony i otwarcie się nie powiedzie, usuń ios::trunc i pewnie dostaniesz, to o co ci chodzi.
P-170334
« 1 »
  Strona 1 z 1