プログラムの列数と行数を取得しようとしています。そのために次のコードを使用しています。
...
char *cols = getenv("COLUMNS");
printf("cols: %s\n", cols);
char *lines = getenv("LINES");
printf("lines: %s\n", lines);
...
問題は、これを実行すると両方で null になることです。PATH
またはなどの他の環境変数でこれを実行するとUSER
、正常に動作します。
私が奇妙だと思うのは、実行echo $COLUMNS
とecho $LINES
同じシェルからの両方が正常に機能することです。
私のプログラムがこれら 2 つの環境変数を取得できないのはなぜですか。