Используйте указатели :), создайте дублирующий указатель на начало, затем выполните цикл по нему while (*endptr++);
, тогда длина будет определена как endptr - startptr
.Вы можете на самом деле шаблонировать это, однако, возможно, что компиляция не сгенерирует тот же внутренний код, который он делает для strlen
(для различных размеров c).