对于 char []
,我可以很容易地通过以下方法得到它的长度:
char a[] = "aaaaa";
int length = sizeof(a)/sizeof(char); // length=6
然而,我不能像这样通过以下方法得到 char *
的长度:
char *a = new char[10];
int length = sizeof(a)/sizeof(char);
因为,我知道,这里的 a
是一个指针,所以这里的 length
总是 4
(或者其他不同系统中的东西)。
我的问题是,我怎样才能得到一个 char *
的长度
具体点说
length=5
?length=10
?例如:
char *a = new char[10];
strcpy(a, "hello");