Problem z zapisem do pliku txt
Ostatnio zmodyfikowano 2010-01-09 09:36
programista12 Temat założony przez niniejszego użytkownika |
Problem z zapisem do pliku txt » 2010-01-07 17:51:56 Witam! Mam mały problem z zapisem danych do pliku txt. Chodzi o to, że jak zrobię odstęp w tekście zapisywanym do pliku, to program kończy zapisywanie, np. wprowadzam tekst "a b c" to zapisuje tylko "a". Próbowałem czegoś takiego: for( int i = 0; i < dane.length(); i++ ) { if( dane[ i ] == ' ' ) { plik << ' '; } else { plik << dane[ i ]; } } Jednak to nie działa. Proszę o pomoc. |
|
GoldWolf |
» 2010-01-07 18:55:18 A co chcesz uzyskać? Można tak: string p; p = "a b c";
ofstream plik; plik.open( "test.txt", ios::out ); if( plik ) { plik << p; } |
|
malan |
» 2010-01-07 18:55:26 Funkcja jest napisana dobrze, jednak nie ma sensu tak robić. Przecież "spacja" to też znak i podczas zapisu do pliku jest on uwzględniany. Zamiast strumieni radzę użyć funkcji write: std::string dane = "a b c";
plik.write( dane.c_str(), dane.size() );
A tak zmieniając temat to pamiętasz, że std::cin ignoruje białe znaki (tzn. spacje, entery itp.) ? Taki mały przykład: std::cout << "Podaj imie i nazwisko"; cin >> imie_i_nazwisko;
std::cout << imie_i_nazwisko;
Po wprowadzeniu Jan Kowalski na ekranie zobaczymy tylko Jan ;). |
|
programista12 Temat założony przez niniejszego użytkownika |
» 2010-01-07 20:01:42 Więc jak zrobić, aby dało się zapisać do pliku tekst po spacji? |
|
malan |
» 2010-01-07 20:15:41 Zapisać tak samo jak tekst przed spacją :). Mógłbyś pokazać fragment kodu, w którym wprowadzasz dane, które mają być zapisane do pliku ? |
|
programista12 Temat założony przez niniejszego użytkownika |
» 2010-01-08 07:10:24 |
|
GoldWolf |
» 2010-01-08 08:44:18 Wyleciało mi to z głowy: getline(cin, p);
Polecam zapoznać się z kursem Biblioteka <string> |
|
malan |
» 2010-01-08 11:26:17 A o czym ja pisałem w 3 poście? Czytaj uważnie ;p. |
|
« 1 » 2 |