Подтвердить что ты не робот

Максимальный размер строки может быть напечатан с использованием% s?

Каков максимальный размер, который можно печатать с помощью %s на языке c.

Я пытался распечатать буфер в файле с помощью fprintf, но в тот момент, когда я почувствовал, что он будет больше до 320 КБ. И fprintf записывал в файл усеченную строку. Существует ли ограничение с %s?

4b9b3361

Ответ 1

printf() имеет верхний предел. Он успешно справится с N char s. N составляет не менее 4095.

Количество символов, которые могут быть получены с помощью любого единственного преобразования, должно быть не менее 4095. C11dr §7.21.6.1 15


[изменить]

При таком большом (320 kB) ожидаемом выходе, если это возможно, рассмотрите возможность использования fputs(s, stream), а не fprintf(stream, "%s", s);, у которого нет этого ограничения 4095.

Аналогично максимальный размер printf/fprintf в соответствии с c99