Tablica w string.h (C++)
Ostatnio zmodyfikowano 2013-04-20 21:24
| martar1990 Temat założony przez niniejszego użytkownika | Tablica w string.h (C++) » 2013-04-20 12:17:24 Witam, mam problem z tablicą do której chcę wczytać jakiegoś stringa. tak wygląda kod: char tab1[ 161 ];char tab2[ 161 ];
 
 cin >> tab1;
 
 memcpy( tab2, tab1, 50 );
 cout << tab2 << "\n";
 
dlaczego przy wpisywaniu do tab1 zdanie ucinane jest na pierwszej spacji? jak mogę to obejść, aby mieć wszystko??  pozdrawiam | 
|  | 
| Hipochondryk | » 2013-04-20 12:43:12 ponieważ standardowy strumien wczytujący(cin) wczytuje tylko do napotkania pierwszego białego znaku - spacja, enter. Użyj stringów i funkcji getline, z nimi o wiele lepiej wygląda współpraca. 
 
 string a;
 getline( cin, a );
 
 getline( cin, a, '.' );
 
 
jeśli koniecznie potrzebujesz cstringu (tablica char) to mozesz następnie użyć funkcji c_str(); zwraca ona wskaźnik do cstringu z zawartością stringa a.  | 
|  | 
| kubek3898 | » 2013-04-20 21:20:07 Możesz też nadal wykorzystać typ char, lecz musisz używać getline(); char zmienna[ 80 ];
 cin.getline( zmienna, 80 );
 
@down Faktycznie, mój błąd, jestem przyzwyczajony do używania getline dla stringu, stąd pomyłka. | 
|  | 
| pekfos | » 2013-04-20 21:24:59 cin.getline( zmienna, 80 );
 | 
|  | 
| « 1 » |