Я не совсем уверен, что понимаю, что вы делаете и что вы подразумеваете под «ломаной струной», но я постараюсь дать вам ответ.
Под ломанной строкой я предполагаю, что вы имеете в виду логическое окончание фрагмента HTML или текста. В конечном счете, у вас нет никакого способа, кроме как анализировать, и, если вы не в какой-то логической точке остановки, продолжайте читать. Если вы используете char [] для хранения данных, у вас наверняка будут проблемы с буфером. В зависимости от того, как вы читаете данные, метод может измениться, но процесс примерно такой:
(вроде C, технически неточно)
int allocLen = 1024;
char buffer[] = malloc(allocLen);
readInNBytes(buffer, 128);
if (notAtLogicalEnd(buffer))
realloc(buffer, allocLen *= 2);
else
// we're done?
Теперь, очевидно, это упускает детали определения, не сломана ли ваша строка, но это все еще в воздухе для интерпретации. Есть несколько способов проверить правильность конца данных: найти пробелы, разрывы строк и т. Д. Или проверить, заканчивается ли HTML тегом [/ html]. В любом случае, вы должны прочитать весь набор данных.
Мне было бы любопытно узнать, как вы читаете данные HTML и ваше полное объяснение «разбитой строки», и я пересмотрю свой ответ.