Если вы действительно хотите «любой длины», вам понадобится целочисленная библиотека произвольной точности (например, libgmp) для счетчика.Это довольно неразумно, поскольку строка должна умещаться в вашей памяти, и каждый символ должен иметь адрес.То есть длина любой строки, которая помещается в адресуемое пространство, может быть выражена в переменной типа size_t
(или, я полагаю, unsigned long int
; она будет иметь такой же размер, как размер регистра машины).
(Пожалуйста, не спрашивайте о том, как сформировать указатель на конец строки, который заполняет всю адресуемую память.)