【发布时间】:2013-01-29 01:53:23
【问题描述】:
尝试将字符串拆分为多个部分。格式永远是这样name from number on date
需要拆分出name、number和date
代码:
string name, number, date;
size_t from = s.find(" from ");
size_t on = s.find(" on ");
name = s.substr(0, from);
number = s.substr(from + 6, on);
date = s.substr(on + 4);
cout << "name:" << name << ", num:" << number << ", date:" << date << endl;
样本输入:John Smith from N656 on 01012013
样本输出:name:John Smith, num: N656 on 01012013, date:01012013
因此,在尝试创建子字符串 number 时显然存在问题,但我很好奇是什么原因造成的,因为其他两个正在工作。
【问题讨论】:
-
我不认为 number 应该打印出
"N656 on 01012013",即使它按照您的预期工作,而是打印出"N656"。