第13章字符串的处理.pptVIP

  • 2
  • 0
  • 约2.38千字
  • 约 14页
  • 2017-05-29 发布于北京
  • 举报
第13章 字符串的处理 在C语言中,处理字符串使用的是字符数组,但是在棉线对象程序设计的语言中这种方式处理字符串不符合面向对象的特点,于是在C++语言中提供了一个string类,在这个类中提供了大量字符串处理的函数。在实际的编程过程中,如果要使用string类,就必须在程序开始的地方添加头文件string。string类的使用极大的方便了我们的编程和字符串的处理工作。 13.1 string对象的定义和初始化 在使用C++进行编程的时候,如何还采用语言中的处理字符串的方式,即:采用字符数组来存储字符串。已经不符合面向对象程序设计的特点了,因此在C++中提供了处理字符串的类,通过使用该类来对字符串对象进行定义和处理。 C++中提供了一个模板类如下: typedef basic_stringchar string; 上面使用typedef的方法对C++中提供的类模板baseic_string进行了重新的命名。string类中封装了字符串的属性和方法,使得程序开发人员对字符串的处理变得更加方便。在使用string类时需要包括下面的头文件。 #includestring 或者仍旧采用C语言中的头文件的方式: #includestring.h 13.1 string对象的定义和初始化 13.2 字符串类的成员函数 在C++语言中,string类提供了很多字符串处理成员函数,每个成员函数又有很多的重载函数,下面只对常用的一些成员函数进行讲解。 unsigned length()const:功能为返回本字符串的对象的长度,调用方式为: string S1(”ssss”); S1.length(); unsigned size() const:功能是返回本字符串对象的大小。调用方式为: string S1(”ssss”); S1. size(); string append(const char *s):功能是将字符串s添加到原字符串的末尾。 13.2 字符串类的成员函数 13.3 字符串处理类的操作符 在C++语言中,string类提供了许多操作符来处理字符串之间关系,在本节中将对这些操作符进行详细的介绍。 (1)“+”,在字符串处理类中的作用将两个字符串连接成一个新的字符串。 (2)“=”,在字符串处理类中表示的就是将一个字符串里面的值赋值到另一个字符串。 (3)“+=”,功能是将一个字符串和另一个字符串进行连接,并将得到的新串值保存到原来的字符串对象当中。 (4)关系运算符,在C++中,关系运算符包括以下几个:“”,“”,“=”,“=”,“!=”,“==”这么关系运算符用来比较两个字符串。 (5)“[]”,用来存取字符串中第i个元素的值。 (6)“”,用来输出一个字符串。 (7)“”,用来输入字符串。 13.3 字符串处理类的操作符 13.4 字符串类中的指针 在C++语言中,字符串处理类中提供了指向字符串的位置指针,通过该指针可以访问字符串中的字符,遍历字符串等操作,指针可以进行简单的加减运算。在字符串处理类中,指针的类型有: string::iterator string::const_iterator string::reverse_iterator string::const_reverse_iterator 13.4 字符串类中的指针 13.5 string类串和C风格串之间的转换 在C语言中,字符串是以“NULL”即‘\0’结尾的,在C++语言中,字符串不是以“NULL”结尾的。在实际的编程中要从string类的字符串中提取出C云烟风格的字符串需要在后面加上‘\0’字符结束标志。 在C++的string类中也提供了相关的函数成员来共程序开发人员使用。具体如下: unsigned copy(char *s,unsigned n,unsigned pos=0): const char *c_str() const: const char *data() const: 13.5 string类串和C风格串之间的转换 13.6 字符串应用实例 【实例13-6】 冒泡排序法实现字符串排序 分析: 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放

文档评论(0)

1亿VIP精品文档

相关文档