【发布时间】:2014-10-01 09:24:18
【问题描述】:
假设我有
string sentence{"Hello how are you."}
我希望字符串句子有“你好吗”而没有“你好”。我该怎么做呢。
我尝试做类似的事情:
stringstream ss(sentence);
ss>> string junkWord;//to get rid of first word
但是当我这样做时:
cout<<sentence;//still prints out "Hello how are you"
很明显stringstream 不会改变实际的字符串。我也尝试过使用strtok,但它不适用于string。
【问题讨论】:
-
如何将字符串拆分为单词(通过 stringstream),然后读取除第一个单词之外的所有单词?
-
这可能需要我使用一个while循环并制作动态的字符串数组。有更简单的方法吗?
-
你只需要使用一个向量,没有循环。看看这个:stackoverflow.com/questions/236129/how-to-split-a-string-in-c
-
@MatthiasB try it
-
@DmitryLedentsov 是的,我注意到了。我想错了方向。需要的当然是
std::getline: ideone.com/IxZRAt 。并不是说我无论如何都会使用这种方法...
标签: c++ string stringstream strtok