C++ 需要查找数组中的内容数
我有一个字符数组,我想找出其中的内容数。 例如,我的数组是:C++ 需要查找数组中的内容数,c++,arrays,C++,Arrays,我有一个字符数组,我想找出其中的内容数。 例如,我的数组是: char myArray[10]; 输入后,其内容为: ABC 现在我想存储一个变量“size”,即与内容相关的区域的大小。因此,在这种情况下: size = 3 如何找到它?一种简单的方法是查找空终止字符\0,这已经在C函数strlen中为您实现,因此有两种方法: int StringLength( const char* str, int maxLength ) { for( int i = 0; i < m
char myArray[10];
输入后,其内容为:
ABC
现在我想存储一个变量“size”,即与内容相关的区域的大小。因此,在这种情况下:
size = 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;
}
但是,正如您标记的那样,最好的方法是不要处理C样式的字符数组,而是使用非常有用的类。一种简单的方法是查找空终止字符
\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;
}
但是,正如您标记的那样,最好的方法是不要处理C样式的字符数组,而是使用非常有用的类。strlen(myArray)
就是您想要的。strlen(myArray)
就是您想要的。尝试一下:
int len=strlen(myArray)
strlen是stdlib.h库的一部分。别忘了在程序中声明它。试试以下方法:
int len=strlen(myArray)
strlen是stdlib.h库的一部分。别忘了在程序中声明它。将数组定义为
charmyarray[10]
并不总是将其内容初始化为零,因此根据您用ABC填充内容的方式,您可以找到或无法找到corect长度。在最坏的情况下,常规strlen()将始终报告大于10的数字,甚至导致读访问过孔。我尝试初始化它,就像charmyarray[10]={}
首先将数组定义为char myArray[10]并不总是将其内容初始化为零,因此根据您用ABC填充内容的方式,您可以找到或无法找到corect长度。在最坏的情况下,常规strlen()将始终报告大于10的数字,甚至导致读访问过孔。我尝试初始化它,就像charmyarray[10]={}代码< >代码> STD::String <代码> ST>::向量<代码>,代码< >代码>函数。听起来像“代码> STD::String < /Cube >或<代码> STD::vector < /Case>及其<代码>(代码)>函数。C++=>代码> < /C> >和<代码> STD::STRUNLY()/<代码>;C++ = >代码> <代码>和<代码> STD::STRUNLY()/CUT>;