все. Я опытный программист на C, который пытается настроить на C++. Я хотел бы сделать эквивалент этого заявления С ...Поиск строк в строке в C++
sscanf(str, "%s %s", sub1, sub2);
... но с строковым объектом C++. Say str является «hello world», делая вышеуказанное утверждение sscanf помещает «hello» в sub1 и «world» в sub2. Я знаю, что могу использовать C-функции, подобные этому в C++, но я бы хотел использовать строковый объект C++ вместо массива символов. Я попытался это:
string q, h, w;
cout << "Type \"hello world\": ";
cin >> q;
istringstream x(q);
x >> h >> w;
if (h == "hello")
cout << "Yes!\n";
else
cout << "No!\n";
if (w == "world")
cout << "Yes!\n";
else
cout << "No!\n";
Но он выдает «Да Нет!», Что означает, что он взял «привет», но не «мир». Есть идеи?
И если вы проверили проверку потока, вы уже поймали его! –