私は C++ の完全な初心者で、次のプログラムを実行しようとしています。
- コンソールから文を読み取ります。
- スペース文字を区切り文字として使用して、文を単語に分割します。
- 各単語を反復処理します。単語が数値の場合はその値を 2 倍にして出力し、そうでない場合は単語を出力し、各出力をそれぞれの行に出力します。
私はこれを行う方法について本当に迷っています。特に区切り文字としてスペース キーを使用します。
次のようなものを持つことができます:
std::stringstream
と_std::getline
std::string str;
std::string temp;
std::getline(std::cin,str);
std::stringstream ss(str);
while(getline(ss,temp, ' ')) // delimiter as space
{
std::stringstream stream(temp);
if(stream >> val)
std::cout<<2*val<<std::endl;
else
std::cout<<temp<<std::endl;
}
デモを見る