2010-09-29 4 views
0

Есть ли способ отрегулировать ширину вкладок в консоли?Регулировка ширины табуляции в C++

+0

Зачем вам это нужно? Вы должны разрешить пользователю использовать свой любимый размер вкладки, и ваша программа должна работать правильно в любой пользовательской среде. –

+0

Это на Windows, какой-то вкус Unix, OS X или консоль отладки для чипа, который работает с моей посудомоечной машиной? В стандартном C++ нет никакого способа сделать это. Там _might_ будет конкретным для ОС способом. – sbi

ответ

2

Это трудно понять, пока вы подробнее рассказать в своем вопросе, но есть возможность, вы просто хотите написать какой-то выровненный текст на консоль, если это так, вы могли бы:

#include <iomanip> 

и использование:

std::setw 

или, возможно,

std::ios 
std::setiosflags 
std::resetiosflags 

Трудно узнать, если вы не дадите нам больше деталей в вашем вопросе ...

2

Это не вопрос C++, поскольку консоль полностью зависит от базовой среды. Например, я не знаю, как это сделать с окном cmd.exe под Windows.

Я думал там может быть способом сделать это с помощью stty в UNIX-подобных операционных системах, но я не могу найти его после беглого поиска.

Одним из возможных вариантов является передача вывода через отдельную программу-фильтр, как:

yourprogram | expand --tabs=4 

, но это выходит за рамки вашего приложения C++.

Если вы хотите иметь возможность сделать это на C++ портативно, вам, вероятно, придется подклассифицировать один из выходных потоков, чтобы вы могли вести запись текущего номера столбца и переводить символы табуляции в правильное число пространства.

Смежные вопросы