-2
コンマを取り除いてsecondWord
に2番目の単語を格納しようとしていて、secondWord
を出力しようとしています。2番目の単語の抽出。文字列の解析(C++)
私のコード:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
istringstream inSS;
string lineString;
string firstWord;
string secondWord;
int i;
bool correct = false;
cout << "Enter input string:" << endl;
while (!correct)
{
// Entire line into lineString
getline(cin, lineString);
// Copies to inSS's string buffer
inSS.clear();
inSS.str(lineString);
// Now process the line
inSS >> firstWord;
// Output parsed values
if (firstWord == "q")
{
cout << "q" << endl;
correct = true;
}
inSS >> secondWord;
if(secondWord[i] != ',')
{
cout<<"Error: No comma in string."<<endl;
}
else if (secondWord[i] == ',')
{
cout << "First word: " << firstWord << endl;
cout << "Second word: " << secondWord << endl;
cout << endl;
}
}
return 0;
}
許容入力: ジル、アレン ジル、アレン ジル、アレン
コードは2番目の単語としてコンマを生成するが、Iコンマとスペースを取り除き、2番目の単語を削除したいと考えています。
私は初期化されていないようです – lamandy
とにかく、あなたはこの質問を見ることができます:https://stackoverflow.com/questions/53849/how-do-i-tokenize-a-string-in-c tokenizeは文字列です。 – lamandy
私が初期化されていない場合、コードの動作は未定義となり、何かが起こる可能性があります。とにかく、サンプル入力を提供する必要があります。 'a、b'、' a、b'、 'a、b'はあなたのコードを使って非常に異なる結果を生み出すことができます。 – lamandy