如何把一个string对象分解为几个单词

bb987321 2010-05-01 04:52:06
想string=“ni hao ma”
如何分解出 ni hao ma3个单词 有什么string 方法吗
...全文
236 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengzhixi 2010-05-01
  • 打赏
  • 举报
回复
用stringstream就可以了.
voicegod 2010-05-01
  • 打赏
  • 举报
回复
我错了……应该是
x.substr(lastSpace+1,i-lastSpace);
取字串……

一不小心把自己定义的写上去了……汗一个……Sorry……
ithiker 2010-05-01
  • 打赏
  • 举报
回复
可以这么做:

string sSentence="ni hao ma",sWord;
istringstream lineStream(sSentence);
while (lineStream>>sWord)
{
....sWrod上的操作
}

注意要包含头文件
#include<sstream>
bb987321 2010-05-01
  • 打赏
  • 举报
回复
substring函数 要包含那个头文件呢
bb987321 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 voicegod 的回复:]
lastSpace=i;后面还有个cutAmount++;

总之这个自己写就好了吧……
[/Quote]
说找不到 “substring”: 找不到标识符 要包含什么头文件呢 不是#include<string>吗
voicegod 2010-05-01
  • 打赏
  • 举报
回复
lastSpace=i;后面还有个cutAmount++;

总之这个自己写就好了吧……
jackyjkchen 2010-05-01
  • 打赏
  • 举报
回复
用纯C非常简单

char str[] = "ni hao ma";

然后连续调用strtok即可分割
voicegod 2010-05-01
  • 打赏
  • 举报
回复
void parse(string x)
{

string s[20];
int lastSpace=-1;
int cutAmount=0;

for(int i=0;i<x.length();i++)
{
while((x[i]!=' ')&&(i<x.length())) i++;
s[cutAmount]=subString(x,lastSpace+1,i-lastSpace);
lastSpace=i;
}
}

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧