C++字符串string类型
2013-11-03 19:05
281 查看
字符串的创建方法
string s1("how are you");
string s2(s1,1,2) //源字符串,偏移量,计数量 ow
string s3="fine";
string s4=s1+"fine";//右边第一项必须为string
string s5(s1.begin()+1,s1.begin()+3); 用迭代器
字符串的其他操作
插入
s.insert(0,"how") ;插入位置,内容
s.append("you");
用"+"号
字符串用size()计算长度
字符串支持下标操作s[1]
替换
s.replace(7,4,"her");从什么位置开始;删除多少个;替换字符串
查询
string::pos当查询不到时,会返回这个值
int n=find("you",15);待查询的字符串,查询起始位置(默认为0)若查到"you"返回首次匹配的起始位置
int n=find_first_of("abcde")'依次查找每个字符,如果在abcde中,则返回字符位置,否则返回string::pos
int n=find_first_not_of("abcde")返回第一个与abcde都不匹配的元素位置
find_last_of与find_last_not_of与3,4相似
rfind从后往前查找
删除
erase s1.erase(s1.begin(),s1.begin()+3);两个迭代器参数.删除s1前三个字符
s1.erase(2);只有一个参数,删除位置2以后的所有元素(注意!)
s1.erase(2,3);删除从2开始的3个元素。起始位置,删除个数
比较
直接用>,<,==
转化和拆分
c_str() const char c*=s.c_str()当要用atoi系列函数时,需对string进行这样的转换 atoi(s.c_str);(string-->int)
用stringstream字符串流把int---->string方法:int n1=10;string s1;stringstream os1;os1<<n1;os1>>s1;
按空格分开的数据,可以用stringstream直接读取
按逗号或其他分隔的数据,可以getline(iss,str,',')第三个参数是分隔符
按逗号或其他分隔的数据,可以先replace把逗号转成空格再用stringstream读取
trim去前后空格的实现
s.erase(0,s.find_first_not_of(" "));s.erase(s.find_last_not_of(" ")+1);
相关文章推荐
- C/C++字符串处理(3):String ADT - 字符串只是抽象数据类型
- 输入带空格的string类型字符串 c++
- C++ 输入字符串和string 类型总结
- c++中怎么判断一个string类型的字符串变量是否为数字?
- c++中怎么判断一个string类型的字符串变量是否为数字?
- c++将string类型字符串转换成char *
- C风格字符串和C++的标准库类型string的比较
- 【C++】【日志贴】浅谈标准库类型string、vector及C风格字符串在全局和局部作用域中默认初始值情况
- 网络通信中,DELPHI的string类型数据转换为C++字符串发送的一个陷阱
- C++中string类型与char*类型的字符串比较剖析
- C++中 替换string类型字符串中汉字的问题
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- 第十周 字符串除了用C++扩充的string类型外,按C语言的传统,还可以用char *表示
- C++ 中string类型和 C风格 char类型字符串比较
- c++中怎么判断一个string类型的字符串变量是否为数字?
- C++ 字符串string类型最常用操作总结
- C/C++关于字符串string、char*字符串数组与其他类型转换
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- c++中string类型字符串的使用
- C字符串和C++中string的区别