关于C++中char,sizeof,strlen,string

一.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;

 

posted on 2017-03-18 13:55  今宵酒醒  阅读(271)  评论(0编辑  收藏  举报

导航