我有一个char数组,我想找出其中的内容数量。 例如,我的数组是:
char myArray[10];
输入之后的内容是:
ABC
现在我想存储一个变量' size',与内容相关的区域大小。所以,在这种情况下:
size = 3
我如何找到它?
答案 0 :(得分:3)
一种天真的方法是寻找空终止字符\0
,这已经在C函数strlen
中实现了,所以有两种方法可以做到这一点:
int StringLength( const char* str, int maxLength )
{
for( int i = 0; i < maxLength; ++i )
{
if( str[i] == '\0' )
return i;
}
return -1;
}
或者您可以按如下方式致电strlen
:
int iLength = strlen( myArray );
但是,正如您已标记此c++一样,最好的方法是不处理C风格的字符数组,而是使用非常有用的std::string
类。
答案 1 :(得分:1)
strlen(myArray)
就是你想要的。
答案 2 :(得分:0)
试试这个:
int len = strlen(myArray)。
strlen是stdlib.h库的一部分。不要忘记在你的程序中声明它。
答案 3 :(得分:0)
将数组定义为char myArray[10];
并不总是将其内容初始化为零,因此根据您使用ABC填充它的方式,您可以或不可以找到核心长度。在最坏的情况下,常规strlen()将始终报告数字> 10,或甚至导致读访问通过。我尝试首先将其初始化为char myArray[10] = {};