C++字符串常用用法
字符串
一、构造函数
char str[];
char *str;
string str; // 空字符串
string str(s) // 将字符串s复制给str
strcpy(str, s) // C语言形式 str和s类型均为char*
string str(s, begin, len); // str = s下标begin开始,长度为len字符串
stirng str(num, ch); // ch的类型是char,生成num个ch的字符串
二、字符串切割
string s = str.substr(begin, len);
// 第一个参数是下标,第二个参数是长度
三、字符串比较
strcmp(str1, str2) == 0 // 二者相等,小于 小于零,大于 大于零
string 可直接==、!=、<、>、<=、>=
str.compare(s) // 与strcmp类似
str.compare(str_pos, str_len, s, s_pos, s_len);// 比较二者中的部分字符串
四、字符串插入
str.push_back('ch') // 插入单个字符
str.insert(str_pos, s) // 在str_pos下标插入s, 可以是单个字符,也可以是字符串
五、字符串删除
str.erase(str_pos, len);
str.erase(iterator first, iterator last); // 也可用于迭代器
str.clear(); // 清除
六、字符穿替换
str.replace(str_pos, len, s);//将字符串从pos下标开始的len个字符,替换成字符串s
str.replace(str_pos, len, n, char c); //将字符串从pos下标开始的len个字符,替换成n个字符c
七、大小写转化
transform(s.begin(),s.end(),s.begin(),::tolower); // 转小写
transform(s.begin(),s.end(),s.begin(),::toupper); // 转大写
tips : 单个字符异或32便可大小写转化
八、字符串查找
str.find("abc"); // 返回首字符在str的下标,从下标0开始找,未找到返回-1
str.find("abc", pos); // 从下标pos开始找
str.rfind("abc"); // 反向查找

浙公网安备 33010602011771号