Wie kann ich die Anzahl der Terminalspalten von einem C/C++ Programm finden?



title tag definition (1)

Vielleicht in etwa so:

#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;
}

Direkt genommen von: Terminalbreite in C bekommen?

Mögliche Duplikate:
Terminalbreite in C erhalten?

Unter Linux und OS X hat meine Shell-Berichte $ COLUMNS die Breite des Terminal-Fensters - und die Größe des Fensters wird diese Shell-Variable anpassen.

Aber in meinem C / C ++ Programm scheint getenv ("COLUMNS") die Variable nicht zu finden.

Hat jemand eine Erklärung? Oder ein alternativer Vorschlag dafür, dass mein C ++ - Programm die Breite des Terminals, in dem es läuft, herausfinden kann (für einige Hilfemeldungen das Wort wrapping)?





terminal