对于 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");