опция printf \ t - PullRequest
       14

опция printf \ t

21 голосов
/ 11 июля 2011

Когда вы печатаете символ табуляции на стандартный вывод, используя printf в C, он выводит некоторое пространство, которое, очевидно, имеет длину 4 символа.

printf("\t");

Есть ли способ, которым я могуконтролировать ширину вкладки в приведенном выше случае?Любая помощь или предложение приветствуется.

Ответы [ 2 ]

46 голосов
/ 11 июля 2011

Это то, что контролируется вашим терминалом, а не printf.

printf просто отправляет \t в выходной поток (это может быть tty, файл и т. Д.), Он не отправляет несколько пробелов.

23 голосов
/ 11 июля 2011

Вкладка - это вкладка. Сколько места он занимает, это проблема отображения и зависит от настроек вашей оболочки.

Если вы хотите контролировать ширину ваших данных, вы можете использовать суб-спецификаторы width в строке формата printf. Например. :

printf("%5d", 2);

Это не полное решение (если значение длиннее 5 символов, оно не будет усечено), но может подойти для ваших нужд.

Если вам нужен полный контроль, вам, вероятно, придется реализовать его самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...