コンソールウィンドウでymaxとxmaxを確認するには、Windowsではplain cを使用しますか?ウィンドウのcで端末のサイズを取得していますか?
Linux用のコードのこの作品があります:
#include <stdio.h>
#include <sys/ioctl.h>
int main (void)
{
struct winsize max;
ioctl(0, TIOCGWINSZ , &max);
printf ("lines %d\n", max.ws_row);
printf ("columns %d\n", max.ws_col);
}
は、今私は、私は窓のために同じことを行うことができますどのように疑問に思います。私はwinioctl.h
を試しましたが、それはstruct winsize
も同様の名前の他のものを定義していません。
ヒント?ありがとう。
PS。 linuxでは、getenv("LINES");
を使ってコンソールサイズを見つけることもできます。同様の変数がウィンドウの下にありますか?
PPS。また、常にncurses.h
があります。両方のシステムで動作すると思いますが、他のライブラリとの競合のために回避しています。
PPPS。ここのこの質問Getting terminal width in C?にはヒントがたくさんあるので、それを繰り返す必要はありません。
私は時間がかかりますが、これは質問に対する正しい答えのようです。この回答と現在受け入れられているバッファサイズの違いを教えてください。ありがとう! –
@DrBecoほとんどの場合、答えのバッファーサイズとこの答えに記載されている表示ウィンドウの幅は同じですが、これは必須ではありません。しかし、バッファーに注意すると、ウィンドウはさまざまな高さを持つことができます。これは、Windowsコンソールセッションをスクロールバックする機能を提供します。メインバッファの任意の部分を見ることができる、より小さなビューポート(表示)ウィンドウで、大きなバッファの観点から考えるのが最も簡単です。 – dgnuff