プログラムの列数と行数を取得しようとしています。そのために次のコードを使用しています。
...
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 つの環境変数を取得できないのはなぜですか。