试图将一个字符串分成几部分 . 格式将始终如下 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
所以在尝试创建子字符串_2910671时显然存在问题,但我很好奇是什么原因造成这种情况,因为其他两个正在工作 .
1 回答
我想你假设
s.substr
接受开始/结束索引 .这就是它的实际情况:
s.substr(pos, size)
所以,以一种丑陋的方式: