字符串是用于存储文本,一个字符串变量可以包含一组用双引号括起来的字符。
Strings are used for storing text. A string variable contains a collection of characters surrounded by double quotes:
例如:创建一个字符串变量
string geeting= "hello" cout<<sizeof(geeting).
字符串一般占字节数:8+
下面一下程序输出结果为?
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> using namespace std; int main() { string firstName ="Isaac"; string lastName ="Newton"; string fullName; fullName=firstName+lastName; cout << fullName; return 0; } |
string类型也可以用下标来操作,最后一个字符也是’\0′ (C++11标准)
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> #include <string> using namespace std; int main() { string myString ="Hello"; myString[0] ='J'; cout << myString<<endl; if(myString[5]=='\0')cout<<"I know you have tail"; return 0; } |
字符型变量与字符串变量
备注:
sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0′)。
strlen参数只能是char*,且必须是以’\0’结尾。
size()是string类型的成员函数,调用方式为s.size(),它返回的值是s的大小,也就是s的长度。成员函数是指某个类型的特有函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <cstring> #include <string> #include <iostream> using namespace std; int main(){ char a_string[]={'a','b','c','\0'};//c-style字符串 char b_string[]="abc"; //c-style字符串 char c_string[]={'a','b','c'}; //字符数组 string d_string="abc"; //C++ STL类型字符串 cout<< sizeof(a_string)<<' '<<strlen(a_string)<<' '<<a_string<<endl; cout<< sizeof(b_string)<<' '<<strlen(b_string)<<' '<<b_string<<endl; cout<<sizeof(c_string)<<' '; for (int i = 0; i <sizeof(c_string); i++)cout<<c_string[i]; cout<<endl; cout<< sizeof(d_string)<<' '<<d_string.size()<<' '<<d_string<<endl; } |