4

ハノイの塔のコードを C で書いたばかりで、文字を使用してグラフィカル モードでソリューションを表示したかったのです。

SetConsoleCursorPositionwindows.h と関数を使用して、コンソールでカーソルを移動したいと考えています。

この機能が動作するかどうか、およびその使用方法を教えてください。いくつか例を挙げてください。

4

1 に答える 1

9

cplusplusSetConsoleCursorPositionから取得した関数の呼び出し方法の例を次に示します。

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.
        // ...
    }
}

また、SDK のドキュメントを確認して、Win32 関数の使用方法を確認することもできます。関数の名前をグーグルで検索すると、通常、最初のヒットとして適切なドキュメント ページが表示されます。
の場合SetConsoleCursorPosition、ページはここにあり、 のGetStdHandle場合、ページはここにあります。

于 2013-04-02T17:55:54.383 に答える