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