私の問題の1つは、ユーザーが一連の数字を入力する必要があるということです数字はスペースで区切られ、最後に数字を入力し終わったことを示す文字「e」を入れなければなりません。 'e'を組み込む唯一の方法は、入力文字列を作成し、文字列内のスペースを決定し、その数値をベクトルに配置することによって文字を区切ることです。私はそれをcharで動作させることができましたが、1桁の数字を入力します。(C++)空白で区切られた文字列内の別々の数字
Check = true;
cout << "Please enter data (0 - 25) with spaces followed by the letter 'e'.\n";
bool Error = false;
VectorSize = 0;
Data.resize(VectorSize);
int i = 0;
while (Error == false)
{
cin >> CTemp;
switch (CTemp)
{
case 'e':
if (VectorSize != 0)
{
Error = true;
break;
}
else
{
cout << "Please enter at least one value before 'e'";
Check = false;
break;
}
default:
Temp = CTemp - 48;
cout << Temp << endl;
VectorSize++;
Data.resize(VectorSize);
if ((Temp > 25) || (Temp < 0))
{
Data[i].InputData(rand() % 26);
}
else
{
Data[i].InputData(Temp);
}
i++;
}
}
return Check;
上記のコードは、charを使用したバージョンです。私はそれに文字列を実装するための助けが必要です。
'CString'を使うことができれば、その' Tokenize'関数はあなたにとって役に立ちます。そして、私は終わりの 'e'のためのユーティリティを見ません。 – sergiol