Таким образом, я бы перед циклом положил в si всю длину и проверял бы mess с конца, попутно декрементируя si Потом проверка на конец строки и выход из цикла
да способов куча я думаю, начать с того как ты эту строку записываешь и в этот момент ее просчитать, например или просто буфер определенного размера может сделать или символ какой нит поставь в конце строки и перебирай пока он не встретится