这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战数组
C++标准模板库中提供了string数据类型专门用于处理字符串。string是一个类, 使用这个类型衍生促的变量称为"sring对象”。一个string对象能够用来保存一个具体的字符串。markdown
注意点:string对象所表明的字符串保存在内存中,这段内存的首地址保存在string 对象。app
要在程序中使用string对象,必须在程序中包含头文件string,即在程序的最前面,要加上以下语句:post
#include <string>
复制代码
使用string对象处理字符串时,要比使用字符数组的方法方便简洁,不易出错。
声明一个string对象,与声明普通变量是相似的,格式以下:spa
string 变量名
复制代码
在声明string变量的同时,也能够进行初始化。既能够使用字符串常量进行初始化,也能够使用另外一个字符串变量进行初始化。没有进行初始化的字符串变量的值是空串,即“”。
注意,字符串常量使用双引号括起来。 例如:设计
string str_var; //声明string对象str_var,值为空字符串
string city="Shenzhen"; //声明string对象city,并使用字符串常量进行初始化
string str_var2 = city; //声明string对象str_var2,并使用字符串变量city进行初始化
char name[]="C++程序设计";
string course = name; //还能够使用字符数组对string变量进行初始化
//下面代码进行声明一个string对象数组,即数组中每一个元素都是字符串
string citys[] = {"Beijing", "Shanghai", "Tianjin, "Chonging" };
复制代码
string对象之间能够使用">", "<", "==", "!="等比较运算符进行比较大小。
比较大小的规则:
按照字符集序的大小进行比较,且是大小写相关的。大写字母小于小写字母。先从第一个字母进行比较大小,若是第一个字母大小同样则比较第二个字母,以此类推。code
"abc" > "ABC"
复制代码
int size() const; //返回当前字符串的字节大小
int length() const; //返回当前字符串的长度
bool empty() const; //判断当前字符串是否为空
string &insert(int p, const string &s); //在p位置插入字符串s
string &append(const char *s); //将字符串s链接到当前字符串的末尾
string substr(int pos=0, int n=npos) const; //返回从pos开始的n个字符组成的字符串
复制代码