Polecam używanie strumienia smyczkowego. Możesz używać przeciążonych operatorów I/O, tak jak przy standardowym wyjściu/standardzie. Coś takiego:
string tempString = "123 ab";
int firstArg;
string secondArg;
stringstream stream(tempString);
stream >> firstArg >> secondArg;
cout << firstArg << " " << secondArg;
ja osobiście uważam, że jest to trochę bardziej jasne niż czytanie w sznurku do normy w, a następnie przy użyciu standardu w operatorów I/O, ale może jest jakiś powód chcesz ją przeczytać do standardu w pierwszym, którego nie rozumiem.
Mam nadzieję, że to pomoże!
Jeśli chcesz użyć tablicy char zamiast std: string, możesz użyć cin.getline (s, n); Gdzie n jest "liczbą znaków do zapisania (łącznie z kończącym znakiem pustym)". Zobacz http://www.cplusplus.com/reference/iostream/istream/getline/. Istnieje również getline dla std :: string, zobacz http://www.cplusplus.com/reference/string/getline/ – anno
@anno: Odczytaj 'cin' ** od ** ciąg, a nie od' cin' do strunowy. –