How To Use SetConsoleCursorPosition Func

2019-01-14 20:33发布

问题:

I just wrote the code for tower of hanoi in c and I wanted to show the solution in graphical mode using characters.

I want to use windows.h and SetConsoleCursorPosition function to move cursor in console.

Could you help me by telling me have does this function works and how to use it?Please give some examples.

回答1:

Here's an example of how to call the SetConsoleCursorPosition function, taken from 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.
        // ...
    }
}

You can also find out how to use Win32 functions by checking the SDK documentation. Googling for the name of the function will usually turn up the appropriate doc page as the first hit.
For SetConsoleCursorPosition, the page is here, and for GetStdHandle, the page is here.



标签: c winapi graphic