すべての人。私は経験豊富なCプログラマで、C++に調整しようとしています。私はこのCステートメントの同等物をしたいと思います...C++の文字列内の文字列を検索します
sscanf(str, "%s %s", sub1, sub2);
...しかし、C++の文字列オブジェクトです。 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";
をしかし、それは出力「はいいいえ!」、を意味し、それは「こんにちは」ではなく「世界」を拾った:私はこれを試してみました。何か案は?
ストリーム操作をエラーチェックした場合は、すでにストリーム操作が検出されています。 –