c++ 如何获得字符数组长度

如题所述

C++中获得字符数组的长度可以使用strlen函数,如计算字符数组a的长度的语句是i=strlen(a)。
函数原型:extern unsigned int strlen(char *s);
头文件:#include <string.h>;
功能:计算给定字符串的(unsigned int型)长度,不包括'\0'在内;
参数说明:要计算长度的字符串数组的首地址;
返回值说明:要计算字符串的长度,不包括'\0'。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-10
字符数组的长度是不能获得的,只能获得字符串的长度。
strlen(char* str);获得字符串str的长度,以‘\0’结尾的字符串。
但是可以通过声明 char(*p)[100];来固定p指针只能指向char[100]的类型。
p的类型为char(*) [100],
int main()
{
char a[100];
char b[99];
p=&a;
p=&b; //error
}
只有在这种情况下数组的长度才有意义,其他情况字符数组的长度只是告诉编译器必须预留多少内存供该变量使用,但编译器并不维护数组的长度信息。
第2个回答  推荐于2018-03-02
用strlen()函数。
例:
#include<stdio.h>
#include<string.h>

#include<iostream>
using namespace std;
int main(){
//以上不用说吧
int a[10]={};//定义数组
for(int i=1;i<=5;i++){
cin>>a[i];
}//初始化数组
int n=strlen(a[10]);//用strlen()函数求长度
cout<<n;
return 0;
}本回答被网友采纳
第3个回答  2012-02-12
可以用C字符串函数: int strlen (char *p),*p就是你想要的字符串
第4个回答  2012-02-10
字符数组指:char str[6] = {'1','2','3','4','5','6'}; 是这个吗?本回答被网友采纳
相似回答