Ширина cout - дисплей - PullRequest
       9

Ширина cout - дисплей

1 голос
/ 23 января 2012

Мне интересно: возможно ли получить ширину линии в стандартном выводе? Не шириной std::cout.width() или std::setw(), а фактическим максимальным количеством символов до того, как ОС перенесет строку?

РЕДАКТИРОВАТЬ: просто чтобы сообщить, я в настоящее время использую Windows XP, хотя я действительно предпочел бы переносной способ сделать это (все остальное является портативным банкоматом).

Ответы [ 2 ]

5 голосов
/ 23 января 2012

Не используется стандарт C ++.cout необязательно связывать с консолью, в которой "ширина" была бы бессмысленной.

Конечно, возможно использование некоторых других библиотек, например ncurses.

Есливы используете Linux, отметьте Получение ширины терминала в C? ;если вы используете Windows, отметьте Получение размера терминала в c для Windows? .

3 голосов
/ 23 января 2012

В системах, которые я использую (Windows и Unix), ОС никогда не переносит строки.Различные устройства отображения могут, однако;например, обычные xterm окна в X или консольное окно в Windows будут перенесены после определенного количества символов. Если вы выводите один из них, существует способ определения размера, зависящий от реализации, в данный момент,Однако действительно ли это полезно, я не знаю, поскольку он может меняться между моментом, когда вы его читаете, и моментом, когда вы выводите.

При выводе в файл, конечно, нет переноса,и мне иногда приходилось иметь дело с файлами длиной более миллиона символов.

...