C++ string
头文件 : #include <string>
using std :: string;
初始化方法:
string s1; // 默认初始化 空串
string s2 = s1;
string s3 = "hi";
string s4 (10, ' c '); // 10个c
string s5 (" hi ");
使用等号初始化一个变量,实际上执行的是拷贝初始化,如果不使用等号,则执行的是直接初始化。
string 操作:
getline(is, s) 从 is(inputstream) 中读取一行赋给s,返回is
s.empty() 为空返回真,否则返回false
s.size() 返回s中字符的个数
s[n] 返回s中第n个字符的引用,位置n从0计起
s1 + s2 返回字符串连接结果
s1 = s2 用s2副本代替s1中原来的字符
s1 == s2 两个字符串所含有字符完全一样,则返回真
<, <=, >, >= 字符在字典中的顺序比较
当把string对象和字符字面值及字符串字面值混在一条语句中使用时,必须确保每个加法运算符(+)的两侧的运算对象至少有一个是string。
处理string对象中的字符
要想访问string 对象中的单个字符有两种方式:一种是使用下标,另外一种是使用迭代器。
C风格字符串
C风格字符串不是一种类型,而是为了表达和使用字符串而形成的一种约定俗成的写法。按此习惯书写的字符串存放在字符数组中并以空字符串结束。空字符串即在字符串中最后一个字符后面跟着一个空字符 ('\n')。一般利用指针操作这些字符。
C风格字符串的函数:
strlen( str ) : 返回字符串的长度,空字符不计算在内
strcmp(str1, str2) : 比较相等性,str1 == str2 返回0,str1 > str2 返回正值,否则返回负值
strcat(str1, str2) : 将str2 附加到 str1之后,返回 str1
strcpy(str1, str2) : 将 str2 拷贝给 str1 , 返回 str1。
传入此类函数的指针必须指向以空字符串作为结束的数组。