可能是重复问题:
如何在C++中拆分字符串?
我需要按单个空格拆分字符串并将其存储到字符串数组中。我可以使用istringstream实现这一点,但我无法实现以下内容:
我想让每个空格终止当前单词。因此,如果有两个连续的空格,则我的数组中的一个元素应为空白。
例如:
(下划线表示空格)
This_is_a_string.
gets split into:
A[0] = This
A[1] = is
A[2] = a
A[3] = string.
This__is_a_string.
gets split into:
A[0] = This
A[1] = ""
A[2] = is
A[3] = a
A[4] = string.
如何实现这个?
pos
和initialPos
中使用size_t
而不是unsigned int
。否则,您可能会陷入无限循环,就像我刚刚经历的那样。 - CodeMonkeywhile
循环更改为initialPos
而不是pos
,并使用三元运算符initialPos = pos + 1 != 0 ? pos + 1 : pos;
。 - CodeMonkey