strlen работает, если вы заканчиваете свой массив нулевым символом. Вы не можете найти количество элементов в массиве char, если не отслеживаете его. т.е. сохраняем его в некоторой переменной, например n. Каждый раз, когда вы добавляете приращение члена n, и каждый раз, когда вы удаляете декремент n