还剩1页未读,继续阅读
文本内容:
C++字符串C++提供了以下两种类型的字符串表示形式C风格字符串C++引入的string类类型C风格字符串C风格的字符串起源于C语言,并在C++中继续得到支持字符串实际上是使用null字符0终止的一维字符数组因此,一个以null结尾的字符串,包含了组成字符串的字符下面的声明和初始化创建了一个RUNOOB字符串由于在数组的末尾存储了空字符,所以字符数组的大小比单词RUNOOB的字符数多一个charsite
[7]={RLTOO‘B\0};依据数组初始化规则,您可以把上面的语句写成以下语句charsite[]=RUNOOB;以下是C/C++中定义的字符串的内存表示索引0123456其实,您不需要把null字符放在字符串常量的末尾C++编译器会在初始化数组时,自动把\0放在字符串的末尾让我们尝试输出上面的字符串实例#includeiostreamusingnamespacestd;intmain{charsite
[7]={R’OOB\0cout菜鸟教程;coutsiteendl;return0;}当上面的代码被编译和执行时,它会产生下列结果菜鸟教程RUNOOBC++中有大量的函数用来操作以null结尾的字符中序号函数目的strcpys15s2;复制字符串S2到字符串s1ostrcats15s2;连接字符串s2到字符串s1的末尾连接字符串也可以用十号,例如stringstrl=runoob;stringstr2=google;stringstr=strl+str2;strlensl;返回字符串S1的长度strcmps1s2;如果s1和s2是相同的,则返回0;如果s1s2则返回值小于0;如果s1s2则返回值大于0strchrs1ch;返回•个指针,指向字符串s1中字符ch的第一次出现的位置strstrs13s2;返回一个指针,指向字符串s1中字符串s2的第一次出现的位置下面的实例使用了上述的一些函数实例#includeiostream#includecstringusingnamespacestd;intmain{charstrl
[13]=nrunoobn;charstr2
[13]=google11;charstr3
[13];intlen;//复制strl至Ustr3strcpystr3strl;coutHstrcpystr3strl:str3endl;//连接strl和str2strcatstrlstr2;coutstrcatstrlstr2:“strlendl;//连接后,strl的总长度len=strlenstrl;coutstrlenstrl:“lenendl;return0;}当上面的代码被编译和执行时,它会产生下列结果strcpystr3strl:runoobstrcatstrlstr2:runoobgooglestrlenstrl:12C++中的String类C++标准库提供了string类类型,支持上述所有的操作,另外还增加了其他更多的功能我们将学习C++标准库中的这个类,现在让我们先来看看下面这个实例现在您可能还无法透彻地理解这个实例,因为到目前为止我们还没有讨论类和对象所以现在您可以只是粗略地看下这个实例,等理解了面向对象的概念之后再回头来理解这个实例实例#includeiostream#includestringusingnamespacestd;intmain{stringstrl=runoob;stringstr2=google;stringstr3;intlen;//复制stri至Ustr3str3=strl;coutHstr3:str3endl;//连接strl和str2str3=strl+str2;coutstrl+str2:str3endl;//连接后,str3的总长度len=str
3.size;coutHstr
3.size:lenendl;return0;}当上面的代码被编译和执行时,它会产生下列结果:str3:runoobstrl+str2:runoobgooglestr
3.size:12。