C++语言重要语法之string数据类型

220 阅读2分钟

这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战

何为string对象

来源

C++标准模板库中提供了string数据类型专门用于处理字符串。string是一个类, 使用这个类型衍生促的变量称为"sring对象”。一个string对象可以用来保存一个具体的字符串。

注意点:string对象所代表的字符串保存在内存中,这段内存的首地址保存在string 对象。

使用string

要在程序中使用string对象,必须在程序中包含头文件string,即在程序的最前面,要加上如下语句:

#include <string>
声明string对象

使用string对象处理字符串时,要比使用字符数组的方法方便简洁,不易出错。
声明一个string对象,与声明普通变量是类似的,格式如下:

string 变量名
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对象比较

string对象之间可以使用">", "<", "==", "!="等比较运算符进行比较大小。
比较大小的规则:
按照字符集序的大小进行比较,且是大小写相关的。大写字母小于小写字母。先从第一个字母进行比较大小,如果第一个字母大小一样则比较第二个字母,以此类推。

"abc" > "ABC"

string对象常用方法

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个字符组成的字符串