Итак, читая комментарии и другие ответы, вам не нравится решение с использованием readline
, потому что оно нестандартно. (ну, это не стандарт ISO или ANSI, но он все равно довольно популярен)
Вам не нравится соглашение об удвоении размера буфера (скорее всего, подход, используемый readline
внутри компании), но вы не указывайте, почему вам это не нравится. Есть больше подходов, чем удвоение размера буфера, вы можете увеличить его, например, на фиксированную величину, но я думаю, что вы тоже не будете довольны этим решением.
Что мы можем тогда сделать, если вы получите 1 ГБ (Один HexaByte, 1.0E18 байт) данных до того, как вы получите первый символ новой строки? Как мы можем с этим справиться?
Как любой офис стандартизации может определить способ решения этой проблемы и указать способ правильной работы?
Вы действительно верите, что задаете правильный вопрос ?