读书人

string find 的有关问题

发布时间: 2012-09-25 09:55:59 作者: rapoo

string find 的问题

C/C++ code
#include<string>#include<iostream>#include<stdio.h>#include <stdlib.h>#include <sstream>#include <malloc.h>#include <vector>#include <fstream>#include <map>using namespace std;    string cpcpair = "( 1481414,170008711) ------------- <0.047619000> --------------- (  284777,    4398)";    string::size_type pos1 = cpcpair.find_first_of(',');    string::size_type pos2 = cpcpair.find_first_of(')');    string tmp_cpcplanid = cpcpair.substr(pos1+1,pos2-1);    cout<<tmp_cpcplanid<<endl;

目的是输出170008711
但问什么输出的是170008711) ------- 呢,有8的偏移

[解决办法]
string tmp_cpcplanid = cpcpair.substr(pos1+1,pos2-(pos1+1));
string::substr(起始位置,截取长度);
[解决办法]
substr的第二个参数要注意,是截取字符的长度

读书人网 >C++

热点推荐