Zapisywanie tekstu do pliku
Ostatnio zmodyfikowano 2009-06-19 20:48
malan |
» 2009-06-19 14:21:07 Jeśli chcesz używać 'getline', a wcześniej używałeś 'cin' musisz wyczyścić bufor, bo inaczej program uzna, że podałeś już jakieś dane i przeskoczy dalej... //Edit: Przykładowy program - skompiluj sobie z funkcją 'fflush(stdin);', a potem bez niej i zobacz różnicę ;). #include <iostream> #include <stdio.h> using namespace std; int main() { string Dane, Dane1, Dane2; cout << "Podaj dane (dane wczytywane przez 'cin'): "; cin >> Dane; fflush( stdin ); cout << "\nPodaj dane2 (dane wczytywane przez 'getline'): "; getline( cin, Dane1 ); cout << "\nPodaj dane3 (dane wczytywane przez 'getline'): "; getline( cin, Dane2 ); cout << "\ndane: " << Dane << endl; cout << "dane2: " << Dane1 << endl; cout << "dane3: " << Dane2 << endl; getchar(); return 0; } |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-20 06:33:25 Czyli jak bym nie wyczyscil to nie mglbym nic przypisac do Dane1 chociaz to jest dla mnie dziwne ;/ bo wkoncu jest inna nazwa wiec nie powinno byc czegos takiego ;/ no ale dopiero sie ucze wec pewnie bedzie wiecej takich sytuacji :P
a tak sie jeszcze zapytam "cin.sync()" to funkcja z c++ a "fflush(stdin)" to c?? |
|
WunM |
» 2009-06-20 10:43:59 C nie jest obiektowy więc cin.sync() napewno jest z C++. |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-21 05:07:26 Wielkie dzieki za pomoc ;] |
|
manfred |
» 2009-06-19 20:48:44 Ta, nie ma to jak używać funkcji C, która może nie działać z powodu tego, że wcale bufora czyścić nie musi i dlatego, że nie ma pewności, że cokolwiek da przy strumieniach. Use cin.sync() instead. |
|
1 2 3 « 4 » |