码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 浅谈 strlen 与 sizeof的区别

时间:2017-07-19 14:23:04      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:32位   包含   数组   字符   char s   返回   其他   c++   保存   

先举个栗子:

字符串数组跟字符串指针,然后分别使用sizeof跟strlen看输出结果。

char strA[] = "2017-7-19";

char *strB = "23333";

 

cout <<sizeof(a)<<ends<<sizeof(b)<<endl;

以上输出 10  4;

a字符串数组长度为10,因为其包含了结束符‘\0‘;

b字符串指针的长度是4,(32位机子下指针长度都是4,其他类型一致,无论指向多长的字符串)

倘若想测试最后一位是不是,循环到最后一位并且做个判断是不是‘\0‘即可。

 

cout <<strlen(a)<<ends<<strlen(b)<<endl;   【注意这里strlen的参数是char的类型】

以上输出 9 5;

strlen实际返回的是字符串的长度,即原本字符串数组中保存的数据长度/字符串指针中保存的数据长度。

C++ 浅谈 strlen 与 sizeof的区别

标签:32位   包含   数组   字符   char s   返回   其他   c++   保存   

原文地址:http://www.cnblogs.com/liuruoqian/p/7204654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!