franz Temat założony przez niniejszego użytkownika |
Dopisywanie łańcucha string do pliku tekstowego » 2009-12-27 17:54:40 Witam,piszę program,który otwiera plik tekstowy,jego zawartość przypisuje zmiennej string,a tą że zmienną zapisuje w pliku a.txt Następnie program otwiera kolejny plin tekstowy znowu pobiera zawartość do zmiennej2,a tą zmienną dopisuje do pliku a.txt I tak kilka/kilkanaście razy.Przeczytałem kurs z tej strony,otwierać dane z pliku i przypisać je do zmiennej potrafię,program wyświetla je w konsoli,ale nie wiem jak zapisać.Możecie mi podrzucić kod do zapisu / dopisu danych do pliku? Googlowałem troche,jedyne co mi sie udało to,że do pliku zapisywała się,ale tylko ostatnia linijka zmiennejx.
Może jeszcze taki schemacik poglądowy:
fstream ...... //pobieranie danych z 1.txt 1.txt = zmienna1;
zapis zmienna1 do pliku a.txt
fsteam....//pobieranie danych z 2.txt 2.txt = zmienna2;
dopisanie zmienna2 do końca pliku a.txt
I tak kilka razy Proszę o pomoc,pzdr |
|
DejaVu |
» 2009-12-27 17:58:21 Opcja 1) 1) otwierasz plik z flagami do zapisu + dopisywania (std::ios::out|std::ios::app <= czy coś podobnego) 2) zapisujesz dane np. za pomocą strumienia plik<<"dane"; Opcja 2) 1) otwierasz plik z flagą do zapisu(std::ios::out) 2) skaczesz na koniec pliku (w kursie jest napisana funkcja jakiej należy użyć) 3) zapisujesz dane np. za pomocą strumienia plik<<"dane"; /edit: W kursie masz bardzo dobrze opisane flagi. http://kursy.ddt.pl/?LessonId=110. Lepszych materiałów w Internecie raczej nie znajdziesz akurat na temat obsługi plików. Jest tam wszystko czego trzeba. Co jak co, ale nad tym rozdziałem najwięcej siedziałem bo chciałem zamieścić w nim wszystkie niezbędne informacje jakie są przydatne przy korzystaniu z plików. Na innych stronach nie znajdziesz nawet połowy tych informacji. |
|
franz Temat założony przez niniejszego użytkownika |
» 2009-12-27 18:22:36 Witam,wiem,że stronka jest jedną z lepszych,z niej uczyłem się C++.Próbowałem masę sposobów żaden nie wychodzi.Próbowałem z ios:app .próbowałem też poprzez pętle i getline() bez efektu. Jakbyś mógł mi napisać jak zmienna1,zmianna2,zmienna3 (bo tyle ich będzie) zapisać po kolei do pliku a.txt .Naprawdę jak pisze coś na forum to już ostatecznośc i znaczy,że nie umiem tematu ogarnąć. |
|
DejaVu |
» 2009-12-27 18:29:26 getline wczytuje wiersz, a nie go zapisuje. #include <iostream> #include <fstream> int main() { using namespace std; fstream plik; string wiersz; cout << "Wprowadz tekst: "; getline( cin, wiersz ); plik.open( "ble.txt", ios::out | ios::app ); plik << wiersz; plik.close(); return 0; } /edit: A następnym razem wczytaj się w treść kursu i zadaj konkretne pytanie czego z niego nie rozumiesz, bo tak to nic nie jestem w stanie w nim poprawić, a po drugie nie masz żadnego konkretnego argumentu na to, że nie zrozumiałeś czegoś z danego rozdziału. |
|
franz Temat założony przez niniejszego użytkownika |
» 2009-12-27 18:38:29 Może bedzie lepiej jak wkleje kod. int main() { string napis1, napis2, napis3, wynik; { fstream plik1; plik1.open( "C:\\free\\a.txt", ios::in ); while( !plik1.eof() ) { getline( plik1, napis1 ); cout << napis1 << endl; } plik1.close(); } { fstream plik2; plik2.open( "C:\\free\\00.html", ios::in ); while( !plik2.eof() ) { getline( plik2, napis2 ); cout << napis2 << endl; } plik2.close(); } { fstream plik3; plik3.open( "C:\\free\\c.txt", ios::in ); while( !plik3.eof() ) { getline( plik3, napis3 ); cout << napis3 << endl; } plik3.close(); } wynik = napis1 + napis2 + napis3; fstream plik4; cout << "Wprowadz tekst: "; getline( cin, wynik ); plik4.open( "C:\\free\\d.txt", ios::out | ios::app ); plik4 << wynik; plik4.close(); return 0; }
|
|
DejaVu |
» 2009-12-27 18:59:56 No i z tego co wkleiłeś wynika, że nawet się nie zastanawiałeś nad rozwiązaniem, które Ci napisałem tylko bezmyślnie wkleiłeś kod do siebie. |
|
franz Temat założony przez niniejszego użytkownika |
» 2009-12-27 19:03:31 Z twojego kodu rozumiem,że getline wczytuje do pliku jedną linijkę,więc trzeba by to jakoś zapętlić? |
|
malan |
» 2009-12-27 19:06:19 Jeśli chcesz zapisać wszystkie dane, które pobrałeś (napis1,napis2,napis3) do 4 pliku to wystarczy, że przeniesiesz jeden wiersz, a następnie dopiszesz do niego 6 literek i masz ;p. Nie pytaj jaki - sam kombinuj ;p. |
|
« 1 » 2 |