4种初始化字符串对象的方法(下图)
注意:这个 s2 和 “hello” 是不同类型!这个“hello”是C语言风格的字符数组类型,我们把“hello”叫做字符串字面值,“hello”是用的字符数组的形式保存下来,而且最后还有一个空字符 /0 ;而s2 是string类型,它不是字符数组,
注意:使用 cin 读取string字符串时,只能读取第一个空格前的字符,空格后的字符读不进去,这里的“空格”包括空格、换行、制表;
cin读取时,第一个输入空格是可以的,而且读取进去后,会自动去掉第一个空格(如下图);cin的特点总结为2点:1、读取并忽略开始的空白字符 2、读取字符直到再次遇到空白字符时读取终止;
读取完整的一行,使用getline函数(下图所示)
getline()函数不会忽略一行开头的空白字符,读取字符直到遇到换行符,则读取中止,且丢掉这个换行符(即:换行符没有在输入流里,也没有在name这个变量中)
cin()函数读取并忽略开始的空白字符,且读取字符直到再次遇到空白字符时读取终止,但遇到的尾巴上的这个空白字符还在输入流里,下次再cin读第二个单词时才读进来这个空白字符并且丢到这个空白字符
第十八讲
字符串的大小就是指的字符的个数,计算方法就是使用下图的size()函数
如果要用一个变量来接收保存字符串大小的变量值,那么不要用 int 而要用size_type ,如下图所示,size_type这个类型就是C++标准库里专门用来保存字符串大小的变量类型,
判断字符串是否为空字符串,我们使用empty()函数(下图所示)
字符串也可以比较大小,字符串比较大小呢其实就是比较首字母,字母越靠后面则越大;大写字母小,小写字母大
字符串也可以赋值(下图所示)
字符串连接(下图)
注意:C++中,不能使用全字面值字符串相加,(“+”号两边不能全是字符串字面值常量)下图中第一句有问题,第二句可以,第三句有问题
第十九讲
第二十讲
C++中的string类型虽然不是C语言中的字符数组,但我们还是可以用数组的方法来操作字符串中的每一个字符
在C++中要使用C语言的标准库头文件的时候,其头文件的写法与C语言头文件写法不同(C++中要去掉 .h 前面加上c )