C++处理字符串的方法——字符串类与字符串变量

C++提供了一种新的数据类型——字符串类型(string类型),在使用上和char、int类型一样,可以用来定义变量,这就是字符串变量

实际上,string并不是C++本身具有的基本类型,它是C++标准库中声明的一共字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。

1.字符串变量的定义和引用

(1)定义字符串变量

和其他类型变量一样,字符串变量必须先定义后使用,定义字符串变量要用类名string,如:

string string1; //定义字符串变量string1
string string2="China"; //定义string2并对其初始化

注意:要使用string类的功能时,必须在本文件的开头将C++标准库中的string头文件包含进来,即应加上

#include<string>   //注意头文件不是string.h

(2)对字符串变量的赋值

在定义了字符串变量后,可以用赋值语句对它赋予一个字符串常量,如:

string1="Canada";

既可以用字符串常量给字符串变量赋值,也可以用一个字符串变量给另一个字符串变量赋值。

string2=string1;

不要求string2和string1长度相同。在定义字符串变量时不需要指定长度,它的长度随其中的字符串长度而改变。

字符串常量以‘\0‘作为结束符,但将字符串常量存放到字符串变量中时,只存放字符串本身而不包括‘\0‘

string word="Then";
word[2]='a';  //修改序号为2的字符

因此字符串变量word 中的字符为“Than”共四个字符,而不是“Than”再加‘\0‘。

(3)字符串变量的输入输出

在输入输出语句中用字符串变量名,输入输出字符串,如:

cin>>string1;
cout<<string2;

2.字符串变量的运算

在以字符数组存放字符串时,要用strcat(连接)、strcmp(比较)、strcpy(复制),而对string类对象,可以不用这些函数,而直接用简单的运算符。

(1)字符串复制用赋值号

string1=string2;

其作用与“strcpy(string1,string2);”相同。

(2)字符串比较直接用关系运算符

可以用==(等于)、>(大于)、<(小于)、!=(不等于)、>=(大于或等于)、<=(小于或等于)等关系运算符来进行字符串的比较。

3.字符串数组

不仅可以用string定义字符串变量,也可以用string定义字符串数组。

string name[5];
string name[5]={"Zhang","Li","Fun","Wang","Tan"};

此时name数组的状况是:

name[0]=

Zhang

name[1]=

Li

name[2]

Fun

name[3]

Wang

name[4]

Tan

可以看到:

在一个字符串数组中包含若干个元素,每一个元素相当于一个字符串变量;

在字符串数组的每一个元素存放一个字符串,而不是一个字符,这是与字符数组的区别。

在每一个字符串元素中只包含字符串本身的字符而不包括‘\0’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值