C++的string二三事

来源:互联网 发布:淘宝店铺logo尺寸大小 编辑:程序博客网 时间:2024/04/28 02:31

原文:http://blog.tianya.cn/post-5953305-104981427-1.shtml


最近使用C++编写了一些小东西,发现自己在string方面比较差,今天总结一下。



## string对象的定义和初始化
string类型支持长度可变的字符串,对于string的使用:#include using std::string


string s1;            默认构造函数,s1为空串
string s2(s1)         将s2初始化为s1的副本
string s3("value")    将s3初始化为字符串字面值副本
string s4(n,'c')      将s4初始化为字符'c'的n个副本
批注:利用getline读取文本的整行,getline(输入流,string对象)
## string 对象的操作


s.empty() 如果s为空串,则返回true,否则返回false
s.size() 返回s中字符的个数
s[n] 返回s位置为n的字符,位置从0开始计数
s1+s2 将s1和s2连接成一个新的字符串,并且返回新生成的字符串
v1==v2 比较v1和v2的内容,相等则返回true,否则返回false
!=,<,<=,>,>= 保持惯有的含义
批注:在size()中返回的是,string::size_type类型;
## 构造string对象的其他方法
对于string类几乎支持所有的构造函数,除了带有单个容器长度最为参数的构造函数
string s(cp,n) 创建一个string对象,它被初始化为cp所指向数组的前n个副本
string s(s2,pos2) 创建一个string对象,它被初始化为一个已经存在的
string s1(s2,pos,len) 创建一个string的对象,它被初始化为s2中从下表为pos开始的len个字符的副本
## 修改string对象的方法
1、insert()                      :在string中插入值
2、assign()                      :用于替换string的值
3、erase()                       :删除string
4、substr()                      :截取string部分字段
5、append()                      : 在string后面添加值
6、replace()                     :替换string的值
7、find()                        : 查找字符[串]第一次出现的下标
8、rfind()                       : 查找字符[串]最后一次出现的下标
9、find_first_of(args)           : 查找args中任意字符的第一次出现
10、find_last_of(args)           : 查找args中任意字符的最后一次出现
11、find_first_not_of(args)      : 查找第一个不属于args的字符
12、find_last_not_of(args)       : 查找最后一个不属于args的字符
13、compare()                    : 比较两个string类型的对象


学习两三点:
在C++中将string类型转化成为int
1、使用函数  atoi(const char *ptr )
--- 扫描参数ptr字符串,检测到第一个数字或正负号时开始做类型转换,之后检测非数字或结束符号\0 时停止转换,返回整型
需要头文件:#include
2、使用stringstream;


eg: stringstream ss;
string str="12345";
int val;
ss<
str>>val;
3、使用boost中的函数:lexical_cast(var)


eg: int val = boost::lexical_cast(string("123"));
0 0