您的位置:首页 > 编程语言 > C语言/C++

C++的string二三事

2015-12-13 11:53 344 查看
原文: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
返回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"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 编程 开发