2.3.2 字符串类型
字符串类型的数据是由双引号括起来的一组字符。不要把字符和字符串混淆,‘a’是字符,“a”是字符串,两者不同。字符串在存储时会自动在字符串结尾加一个字符串结束标志\0,以便系统判断字符串是否结束。字符串结束标志\0的ASCII码为0,是一个不可显示的字符。如有一个字符串“Hello”,它所占的字节就是6个,最后一个字节存放的是\0。当字符串输出时,字符一个一个地输出,直到\0结束。
【例2.1】 实现对字符串的输入与输出,代码如下。(实例位置:光盘\mr\example\第2章\2.1)
代码位置:光盘\mr\example\第2章\2.1\str\str.cpp
- 01 #include "iostream.h"
- 02 int main()
- 03 {
- 04 char str[10];
- 05 cout<<"输入少于9个字符"<<'\n';
- 06 cout<<"str=";
- 07 cin >>str;
- 08 cout<<"直接输出字符串"<<'\n';
- 09 cout<<str<<'\n';
- 10 cout<<"通过数组元素输出字符串"<<'\n';
- 11 for(int i=0;i<9;i++)
- 12 {
- 13 cout<<str[i];
- 14 }
- 15 cout<<endl;
- 16 return 1;
- 17 }
运行结果如图2.1所示。
|
| 图2.1 运行结果 |
试一试:根据以上程序,实现输入输出字符串“welcome to mrsoft”。
除了可以对字符串进行输入和输出以外,还可以对字符串进行复制、衔接、计算字符串长度和比较等处理。在C++(www.cppentry.com)语言中,可以使用C++(www.cppentry.com)编译器附带的字符串处理函数库<cstring>来处理字符串。字符串处理函数如表2.4所示。
表2.4 C++(www.cppentry.com)的字符串处理函数表
在使用前需要引入字符串处理函数库的头文件#include "cstring"。
【例2.2】 使用字符串处理函数求字符串的长度,并对字符串进行衔接,程序代码如下。(实例位置:光盘\mr\example\第2章\2.2)
代码位置:光盘\mr\example\第2章\2.2\strcat\strcat.cpp
- 01 #include "iostream.h"
- 02 #include "cstring"
- 03 int main()
- 04 {
- 05 char str1[20],str2[10];
- 06 cout<<"输入少于9个字符"<<'\n';
- 07 cout<<"str1=";
- 08 cin >>str1;
- 09 cout<<"输入少于9个字符"<<'\n';
- 10 cout<<"str2=";
- 11 cin >>str2;
- 12 cout<<"输出字符串"<<"\n";
- 13 cout<<"str1="<<str1<<"\n";
- 14 cout<<"str2="<<str2<<"\n";
- 15 cout<<"计算str1的长度"<<"\n";
- 16 cout<<"长度="<<strlen(str1)<<"\n";
- 17 cout<<"把字符串str2衔接到字符串str1后面"<<"\n";
- 18 cout<<strcat(str1,str2)<<"\n";
- 19 }
运行结果如图2.2所示。
|
| 图2.2 运行结果 |
试一试:根据以上程序,计算出两个字符串衔接后的字符串长度。