一.char和string类型:
1.string类型是对char的封装;
2.string中有单独的函数对诸如strcopy和strlen功能的实现,而且对于string而言,不能用于strlen和strcopy的函数中;
二。strlen和sizeof区别:
1.首先对于strlen来说,单独的char单字符不能用于strlen,也就是说strlen的参数必须是字符串
char ch = 'a';
//cout << "The strlen of ch :" << strlen(ch) << endl; //会报错
2.sizeof由数据类型和数组长度决定,不受数组中实际存储的长度影响;
3.strlen是求实际的存储长度占字节数;
4.还要注意的是当数组中存储的是汉字的时候,字符数组中一个汉字占2个字节(用strlen求出来的),对于string类型也是一样的
char ch1[20]= "这是我的";
cout << "The strlen of ch1: " << strlen(ch1) << endl;
输出8
5.测试程序:
char ch = 'a';
char ch1[20]= "这是我的";
cout << "The sizeof char ch: " << sizeof(ch) << endl;
//cout << "The strlen of ch :" << strlen(ch) << endl;
cout << "The sizeof ch1: " << sizeof(ch1) << endl;
cout << "The strlen of ch1: " << strlen(ch1) << endl;
string str = "这是我的";
cout << str.length() << endl;