mikson Temat założony przez niniejszego użytkownika |
» 2014-01-27 15:43:45 Nie chcąc zakładać nowego tematu, który byłby bardzo podobny w treści do tego, napiszę tutaj.
Co zrobić, gdy tym razem chcę zapisać coś np. w trzeciej od góry linijce pliku? |
|
alixir |
» 2014-01-27 15:57:30 Wstawić się nie da. Musisz przepisać cały plik. Przepisujesz plik do linii w której chcesz coś dopisać, dopisujesz nową linię i kontynuujesz przepisywanie pliku. |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-01-27 16:20:01 Mój plik jest zbudowany na zasadzie: string numer string numer string numer itd... String mnie w tym momencie nie interesuje, chcę powiększyć liczbę w pliku o wartość zmiennej wyjscie. Mam dany numer liczby do podmienienia. Robię to w ten sposób: for( int i = 0; i <= numer; i++ ) { getline( plik, buf ); if( i == plik ) { bufor = pom + wyjscie; plik << bufor; SendMessage( hComboBox, CB_ADDSTRING, 0,( LPARAM ) bufor ); } else { plik << pom; } } W pliku się nic nie zmiena. Co jest źle? |
|
alixir |
» 2014-01-27 17:17:31 Otwierasz plik w trybie do odczytu i zapisu. Jednoczesna operacja odczytu i zapisu nie jest możliwa. Dlatego napisałem, że musisz przepisać plik do jakiegoś tempa, a potem podmienić oryginalny tym nowo utworzonym. |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-01-27 19:12:41 Czyli jak to zrobić bo tak nie zbyt bardzo jarzę, poza pętlą zapisywać do pliku czy jak? |
|
alixir |
» 2014-01-27 19:34:28 Otwierasz dwa pliki - jeden z którego czytasz, drugi tymczasowy do którego będziesz zapisywał. Jedziesz w pętli, czytasz linie z pierwszego pliku i przepisujesz do drugiego. Gdy napotkasz linię którą chcesz zmienić, zmieniasz, a następnie kontynuujesz przepisywanie pliku. Na końcu kasujesz pierwszy plik, a drugiemu zmieniasz nazwę na taką jak miał pierwszy z nich. |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-01-28 15:59:25 Ok, to robię już tak for( int i = 0; i < numer; i++ ) { getline( plik, buf ); plik >> pom; buforPlik << buf << endl; buforPlik << pom << endl; cin.sync(); } getline( plik, buf ); buforPlik << buf << endl; buforPlik << wyjscie << endl; I mam dwa pytania: 1. Program nie wypisuje buf-ów (stringów) do pliku buforPlik 2. Jak przepisać resztę linijek? |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-01-29 10:10:58 ? |
|
1 2 « 3 » 4 |