<分区>
Possible Duplicate:
Getting terminal width in C?
在 Linux 和 OS X 上,我的 shell 报告 $COLUMNS 具有终端窗口的宽度——调整窗口大小将调整此 shell 变量。
但在我的 C/C++ 程序中,getenv("COLUMNS") 似乎没有找到变量。
谁有解释?或者让我的 C++ 程序计算出它正在运行的终端的宽度的替代建议(对于一些帮助消息自动换行)?
标签 c++ c formatting terminal
<分区>
Possible Duplicate:
Getting terminal width in C?
在 Linux 和 OS X 上,我的 shell 报告 $COLUMNS 具有终端窗口的宽度——调整窗口大小将调整此 shell 变量。
但在我的 C/C++ 程序中,getenv("COLUMNS") 似乎没有找到变量。
谁有解释?或者让我的 C++ 程序计算出它正在运行的终端的宽度的替代建议(对于一些帮助消息自动换行)?
最佳答案
也许是这样的:
#include <sys/ioctl.h>
#include <stdio.h>
int main()
{
struct winsize w;
ioctl(0, TIOCGWINSZ, &w);
printf("lines %d\n", w.ws_row);
printf("columns %d\n", w.ws_col);
return 0;
}
关于c++ - 如何从 C/C++ 程序中找到终端列的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657048/