C++ 'Using space as a delimiter'
C++ 'Using space as a delimiter'
我是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;
}
请参阅DEMO
相关文章:
- 为什么我会" void value not ignored as it ought to be"?
- 为什么 std::shared_ptr 被认为是"heavy"和"expensive",但 std::array "same perfprmance as plain (c-style) arrays
- 了解 Linux 虚拟内存:valgrind 的 massif 输出显示了有和没有 --pages-as-heap 的主要差异
- 编译错误:"lvalue required as left operand of assignment" 不确定原因
- 如何理解"Temporary objs are destroyed as the last step in evaluating the full-expression"?谁能用一些简单的例子来说明这
- Atom gpp编译器给出"'C:UsersadminUser' is not recognized as an internal or..."错误
- r-在Rcpp和C++之间转换矢量(使用Rcpp::as或Rcpp:::wrap)是否会创建一个新的矢量并复制元素
- template<class T, int N> void h(T const(&)[N]); as friend function
- 我正在"void value not ignored as it ought to be"我该怎么办?
- "expression cannot be used as a function"回报声明
- OMNeT++ cPacket as std::bitset 以应用 Reed-Solomon 编码
- 函数如何在不这样做的情况下在新线程上运行"as if"?
- C++指针算术"lvalue required as left operand of assignment"错误
- 当调用时,为什么ranges ::累积的init as std :: Move(init)
- 如何在开关语句中使用 cin "as a parameter"
- regex_match as predicate
- 类型转换运算符重载与 as 非成员函数
- 我在 MinGW 和 VS 代码"g++ not recognized as a cmdlet..."时遇到构建错误
- SpinBoxDelegate displayed as a DoubleSpinBoxDelegate
- C++ 'Using space as a delimiter'