Вы не можете. Массивы в C ++ являются указателями, и это все, что у вас есть: указатель на начало массива. Если это строка, вы можете использовать strlen для измерения ее длины. Если это какой-то другой известный формат, вы можете рассчитать длину в соответствии с этим форматом.
Рассмотрим этот код:
static char str[] = "hello world";
foo(str);
bar(str);
void foo(char* str)
{
// length of str is unknown
}
void bar(char str[])
{
// length of str is still unknown
}
Независимо от того, является ли параметр вашей функции char [] или char *, вы не знаете размер.
Я предлагаю передать размер в качестве отдельного параметра.