string
虽然用起来非常方便,但是有些封装的函数只支持char*
,所以,今天在这里记录一下string
和char*
之间的转换
string转char*
1 | char *cs = new char[strlen(str.c_str)+1]; // 此处一定用strlen,之间用str.size()会出错 |
char*
转string
1 | char cs[10] = "abcdef"; |
应用
封装的对string类型进行split的函数 (借助c语言)
1 | vector<string> split2(const string &str, const string &pattern) |
另一种思路:
1 | // 使用strstr()函数, 返回检索字符串在字符串中首次出现的位置 |
实现split得另一种方法,两种方法复杂度相同
暂且可以认为这种方法稍稍好一丢丢(虽然每依据,看到程序运行时间)
1 | vector<string> split2(const string &str, const string &pattern) { |