[解決済み] SetConsoleCursorPosition関数の使用方法
2022-02-15 09:51:54
質問
ハノイの塔のコードをC言語で書きましたが、解答を文字を使ってグラフィカルに表示したいと思いました。
Windows.hを使用したいのですが
SetConsoleCursorPosition
関数を使用して、コンソールでカーソルを移動させることができます。
この関数はどのように動作し、どのように使用するのか、いくつかの例を挙げて教えてください。
どのように解決するのですか?
を呼び出す例です。
SetConsoleCursorPosition
関数から引用しています。
cplusplus
:
void GoToXY(int column, int line)
{
// Create a COORD structure and fill in its members.
// This specifies the new position of the cursor that we will set.
COORD coord;
coord.X = column;
coord.Y = line;
// Obtain a handle to the console screen buffer.
// (You're just using the standard console, so you can use STD_OUTPUT_HANDLE
// in conjunction with the GetStdHandle() to retrieve the handle.)
// Note that because it is a standard handle, we don't need to close it.
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
// Finally, call the SetConsoleCursorPosition function.
if (!SetConsoleCursorPosition(hConsole, coord))
{
// Uh-oh! The function call failed, so you need to handle the error.
// You can call GetLastError() to get a more specific error code.
// ...
}
}
また、Win32関数の使用方法は、SDKのドキュメントで確認することができます。関数名でググると、大抵の場合、該当するドキュメントページが最初にヒットします。
について
SetConsoleCursorPosition
の場合、そのページは
こちら
の場合、そして
GetStdHandle
の場合、そのページは
こちら
.
関連
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み】 `S_ISREG()` とは何ですか、そして何をするのですか?
-
[解決済み】 error: too few arguments to function `printDay' (C言語)
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C言語で配列のサイズを決定するにはどうすればよいですか?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] マクロで無意味なdo-while文やif-else文を使っているのはなぜですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】C言語の関数ポインタはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Valgrind が "Invalid write of size 8" で文句を言う。
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】デバッガgdbの使用時に不明な終了シグナルが発生する。
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】エラー:呼び出されたオブジェクトは、関数または関数ポインタではない
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】Errno: 11, Resource Temporarily Unavailable(リソースが一時的に利用できない