1. C风格字符串
以空字符‘\0’结尾的char数组
char cat[4] = { 'a','b','c','\0' };
2. 字符串常量(字符串字面值)
用双引号括起的字符串,隐式地包含结尾的空字符。应确保字符串的长度足够存储空字符在内的所有字符,声明时可以不指定长度,而是让编译器计算长度。
char birds[10] = "abcdef";
char egg[] = "bubble";
2.1 拼接字符串常量
任何两个由空白(空格、制表符、换行符)分割的字符串常量将自动拼接成一个,拼接处的空字符被删除。
cout << "I am a fish." "not a bird.\n";
2.2 在数组中使用字符串
sizeof()计算整个数组的长度
strlen()计算可见的字符数(不包括空字符)
char name[15] = "C++play";
int a = sizeof(name); //15字节
int b = strlen(name); //7
2.3 字符串输入
cin使用空白(空格、制表符和换行符)来确定字符串的结束位置
2.4 每次读取一行字符串输入
cin.getline(name,len)遇到换行符时停止读取,舍弃换行符,自动添加空字符
cin.get(name,len)遇到换行符时停止读取,自动添加空字符,但换行符仍留在输入队列中
cin.get()读取一个字符
char name1[15];
char name2[10];
cin.get(name1, 15).get();
cin.get(name2, 10);
cin.getline(name1, 15);
cin.getline(name2, 10);
3. string类
string s1 = "C++";
string s2 = "java";
string str;
int len1 = s1.size(); //不包括结尾空字符
cout << len1 << endl;
getline(cin, str); //读取一行输入