C++中strlen()用法

char str0[8] = { 'a','b','c','d','e','f','i','g' };
char str1[] = "abcdefig";
char str2[] = "01234\056789";
char str3[] = "abcse\0fgkij";

 

strlen(str0)    
strlen(str1)    
strlen(str2)
strlen(str3)

 

 str0的sizeof为8,导致没有\0结束,因此strlen的返回是不可预期的。
str1会自动加\0结束所以是8。
str2的\056会被解释成8进制数056表示的字符,因此strlen是9
str3的\0会被解释为结束符

posted @ 2019-10-24 22:51  孤寂!  阅读(5218)  评论(0)    收藏  举报