1、嵌入式Linux下QT程序设计,主讲:成宝宗,string类,在处理字符串方面,C+还提供了标准的模板类string类。我们用string类将字符串定义为对象,然后利用string类提供的赋值、连接、复制、查找、交换等字符串操作功能,即可方便地实现对字符串的各种处理。与字符数组和字符指针处理字符串不同的是,string不一定要用“0”来标识字符串的结束。下标运算符“”也可以用于访问字符串中的各个字符。,string类对象的定义与初始化,由于string类的结构比较复杂,在此主要就其基本特点与用法进行介绍并举例加以说明,关于更多、更详细的内容,请读者自行参阅有关资料。 string类对象的定义与
2、初始化 形式1: string对象名(“字符串“)或string对象名=“字符串“ 形式2: string对象名(n,字符); /生成由n个字符组成的字符串 例如:string str1 = “hello“; string str2(“world“);string str3(10,x);,String类常用操作符,常用操作符 s + t 将串s和t连接成一个新串 s = t 用t更新s s = t 判断s与t是否相等 s != t 判断s与t是否不等 s t 判断s是否大于t (按字典顺序比较) s = t 判断s是否大于或等于t (按字典顺序比较) si 访问串中下标为i的字符 例: str
3、ing s1 = “abc”, s2 = “def”; string s3 = s1 + s2; /结果是”abcdef” bool s4 = (s1 s2); /结果是true char s5 = s21; /结果是e,string类对象的操作,string类对象的操作,即实现对字符串进行赋值、连接、复制、查找、交换等功能,主要通过string类对象的成员函数调用与重载运算符(、.,string类常用成员函数,用getline输入整行字符串,输入整行字符串 用cin的操作符输入字符串,会以空格作为分隔符,空格后的内容会在下一回输入时被读取 用string头文件中的getline可以输入整行字
4、符串,例如: getline(cin, s2); 以其它字符作为分隔符输入字符串 输入字符串时,可以使用其它分隔符作为字符串结束的标志(例如逗号、分号) 把分隔符作为getline的第3个参数即可,例如: getline(cin, s2, ,);,8,用vector创建动态数组,为什么需要vector? 将动态数组封装,自动创建和删除 数组下标越界检查 例6-18中封装的ArrayOfPoints也提供了类似功能,但只适用于一种类型的数组 vector动态数组对象的定义 vector 数组对象名(数组长度); 例:vector arr(5) 建立大小为5的int数组,9,vector数组对象的使用,对数组元素的引用 与普通数组具有相同形式: 数组对象名 下标表达式 但vector数组对象名不表示数组首地址 获得数组长度 用size函数 数组对象名.size(),10,vector数组常见操作,