C++ 字符串
C++ Primer Plus 第6版
字符串:是存储在内存的连续字节中的一系列字符。
C++处理字符串的方式有2种:
一、来自C语言、常被称为C-风格字符串(C-Style-string)
1)从字符数组--》字符串
存储在连续字节中的一系列字符意味着可以讲字符串存储在char数组中,其中每个字符都位于自己的数组元素中。
C-style字符串具有一种特殊的性质:以空字符结尾,空字符被写为‘\0‘
char dog[8]={‘b‘,‘e‘,‘a‘,‘u‘,‘t‘,‘ ‘,‘i‘,‘i‘}; //不是一个字符串,仅仅是一个char数组!!! char cat[8]={‘b‘,‘e‘,‘a‘,‘u‘,‘t‘,‘a‘,‘i‘,‘\0‘}; //是一个字符串,且为一个char数组
将字符数组初始化为字符串的方法(这种字符串被称为字符串常量或字符串字面值):
char bird[11]="Mr. Cheeps"; char fish="Bubbles";
用双引号括起的字符串隐式地包括空字符(‘\0‘),因此不用显示的包括它。
2)从字符串--》字符数组
将字符串读入到char数组中,将自动加上结尾的空字符(‘\0‘)
3)字符串常量与字符常量不能互换
字符常量(‘S’)是字符串编码的简写表示,在ASCII系统上,‘S’是83的另一种写法,因此下面是将83赋值给shirt_size;
char shirt_size=‘s‘;
"S"不是字符常量,它表示的是俩个字符(字符S和\0)组成的字符串。
“S”实际上表示的是字符串所在的内存地址。
char shirt_size="s"; //将一个内存地址给 shirt_size
4)注意cout 当读取到‘\0‘就结束继续读取,直接结束
#include <iostream> #include <cstring> int main() { using namespace std; int a; const int Size=15; char name1[Size]; //empty array char name2[Size]="C++owboy"; //initialized array cout<<"Howdy! i‘m "<<name2; cout<<"I what‘s your name?\n"; cin>>name1; cout<<"Well, "<<name1<<" , you name has"; cout<<strlen(name1)<<"letters and is stored\n"; cout<<"in an array of "<<sizeof(name1)<<" bytes. \n"; cout<<"you inital is "<<name1[0]<<".\n"; name2[3]=‘\0‘; cout<<"Here are the first 3 characters of my name :"<<name2<<endl; cin>>a; return 0; }
二、string类库的方法
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。