有没有办法在控制台中调整标签宽度?
答案 0 :(得分:2)
这不是一个真正的C ++问题,因为控制台完全取决于底层环境。例如,我知道无法使用Windows下的cmd.exe
窗口执行此操作。
我认为可能是一种在类UNIX操作系统下使用stty
执行此操作的方法,但在粗略搜索后我找不到它。
一种可能性是通过单独的过滤程序传递输出,如:
yourprogram | expand --tabs=4
但这超出了C ++应用程序的范围。
如果您希望能够以可移植的方式在C ++中执行此操作,则可能必须对其中一个输出流进行子类化,以便您可以保留当前列号的记录并将制表符转换为正确的空格数
答案 1 :(得分:2)
在您在问题中详细说明之前很难知道,但是您可能只想将一些合理的文本写入控制台,如果是这种情况,您可以:
#include <iomanip>
并使用:
std::setw
或可能
std::ios
std::setiosflags
std::resetiosflags
除非您在问题中提供更多细节,否则很难知道......
答案 2 :(得分:0)
尝试从msdn中找到GetConsoleWindow()。 你可以参考http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles6.html