我是一个完整的 C++ 初学者,并且正在尝试执行以下程序:
- 从控制台读取一个句子。
- 使用空格字符作为分隔符将句子分成单词。
- 遍历每个单词,如果该单词是数值,则将其值加倍打印,否则打印出该单词,每个输出都在其自己的行上。
我真的迷失了如何做到这一点。特别是使用空格键作为分隔符。
可以有以下内容:
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;
}
见演示