[C++] Problem z przepisaniem pliku bez danego wiersza
Ostatnio zmodyfikowano 2012-01-18 17:25
jsc |
» 2012-01-11 22:56:33 A może otwórz plik tylko do odczytu, wykonaj operacje na jego zawartości zapisanej w wybranej zmiennej, usuń nieaktualnej zawartości i na koniec zapisz zmienioną treść do pustego pliku? |
|
hincu |
» 2012-01-12 07:52:19 zliczaj liczbe linii w pliku podczas uzycia getline, pozniej tylko sprawdzaj czy linia zawiera wyraz Prowadzacy jesli tak zapisz sobie ta linie w osobnej zmiennej a nastepnie zapisuj wszystko w osobnym pliku bez tej linii |
|
Wonski92 Temat założony przez niniejszego użytkownika |
» 2012-01-15 00:00:06 Nie za bardzo mi wychodzi z tą tablicą stringów :/ Znalazłem prawdopodobną przyczynę dlaczego to nie działa. Zrobiłem , żeby program wypisywał dane cout'em zamiast zapisywać to w nowym pliku i przy trzeciej linijce program się wykrzaczał :/ Wywalało błąd aplikacji i program kończył działanie. Może to wina tego , że mam zły sposób czytania danych, albo wina pliku, który czytam. Plik wygląda tak : Przedmiot: PP Identyfikator: 1CL
Prowadzacy: Jan Kowalski
Może to być wina, np tego , że niektóre linie są puste?? Jak tak, to jak to zczytać lepiej?? |
|
Wonski92 Temat założony przez niniejszego użytkownika |
» 2012-01-18 17:25:51 Ok rozwiązałem sprawę :D Kod , który wytworzyłem : void kasuj_prowadzacego( string sciezka ) { rename( sciezka.c_str(), "test.txt" ); ifstream tplik( "test.txt" ); ofstream aplik( sciezka.c_str() ); string dane, a; while( !tplik.eof() ) { getline( tplik, dane ); if( dane.size() > 10 ) { a = dane.substr( 0, 10 ); if( a != "Prowadzacy" ) aplik << dane << endl; } } aplik.close(); tplik.close(); remove( "test.txt" ); }
temat do zamknięcia ;) |
|
1 « 2 » |