Caracteres de salida en cualquier lugar de la pantalla

Debido a que el posicionamiento del cursor de Windo necesita usar las SetConsoleCursorPositionfunciones en el archivo de encabezado windows.h , su uso es:

SetConsoleCursorPosition(HANDLE hConsoleOutput, COORD  dwCursorPosition);

hConsoleOutputIndica el manejador del búfer de la consola, a través del cual se puede obtener GetStdHandle(STD_OUTPUT_HANDLE), dwCursorPositiones la posición del cursor, que es la fila y la columna, es una estructura de tipo COORD. La función del sistema operativo ws, por lo que el código de esta sección no se puede ejecutar en Linux y Mac OS.

Por ejemplo, coloque el cursor en la tercera fila y tercera columna de la consola:

//定义光标位置
COORD coord;
coord.X = 3;  //第3行
coord.Y = 3;  //第3列
//获取控制台缓冲区句柄,固定写法
HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
//设置光标位置,固定写法
SetConsoleCursorPosition(ConsoleHandle, coord);
#include <stdio.h>
#include <windows.h>

int main(){
    //定义光标位置
    COORD coord;
    coord.X = 3;  //第3行
    coord.Y = 3;  //第3列
    //获取控制台缓冲区句柄
    HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    //设置光标位置
    SetConsoleCursorPosition(ConsoleHandle, coord);
   
    printf("http://c.biancheng.net\n");

    return 0;
}

resultado de la operación:

Nota: la esquina superior izquierda de la ventana es la fila 0 y la columna 0, no la fila 1 y la columna 1 como solemos pensar. Muchos recuentos en lenguajes de programación comienzan en 0 en lugar de 1.

#include <stdio.h>
#include <windows.h>

//设置光标位置
void setCursorPosition(int x, int y);
//设置文字颜色
void setColor(int color);

int main(){
    setColor(3);
    setCursorPosition(3, 3);
    puts("★");

    setColor(0XC);
    setCursorPosition(1, 1);
    puts("◆");

    setColor(6);
    setCursorPosition(6, 6);
    puts("■");

    return 0;
}

//自定义的光标定位函数
void setCursorPosition(int x, int y){
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
//自定义的文字颜色函数
void setColor(int color){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color) ;
}

Supongo que te gusta

Origin blog.csdn.net/qq_43629083/article/details/112982339
Recomendado
Clasificación