substr函数
string a = "01234567"; //从下标2开始,长度为4,s不变 string b = a.substr(2,4); //从下标2开始到结束 string c = a.substr(2);
insert函数
string a = "01234567"; //s会改变 a.insert(2,"000");
erase函数
string a = "01234567"; //s会改变 a.erase(2,3);
find和rfind函数
string a = "01234567"; //不存在则返回-1 int k = a.find("45"); //从a的下标5开始 k = a.find("45",5); //找最后一个出现的,返回的位置仍然是从前往后数 k = a.rfind("45");
replace函数
string a = "01234567"; //从2开始4个长度换成"gg" a.replace(2,4,"gg");
char[]转string
char a[]="123,456,789,0"; string b; b=a; cout<<b;
string 转char*
string a="123,456,789,0"; char* b; b=(char*)a.data(); cout<<b;
去掉前后空格函数的trim
string trim(string s){ s.erase(0,s.find_first_not_of(" ")); s.erase(s.find_last_not_of(" ")+1); return s; }
split函数(需要转化成char*)
vector<char*> split(char* s,char* c){ vector<char*> v; char *p = strtok(s,c); while(p != NULL){ v.push_back(p); p=strtok(NULL,c); } return v; }