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 » |