我如何從C/C++程序中找到終端列的數量?



formatting terminal (1)

也許是這樣的:

#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中獲取終端寬度?

https://ffff65535.com

可能重複:
在C獲得終端寬度?

在Linux和OS X上,我的shell報告$ COLUMNS具有終端窗口的寬度 - 調整窗口大小將調整此shell變量。

但在我的C / C ++程序中,getenv(“COLUMNS”)似乎沒有找到變量。

有人有解釋嗎? 或者讓我的C ++程序找出它所運行的終端的寬度(對於一些幫助消息字換行)的替代建議?





terminal