Come si imposta la posizione del cursore in un'applicazione della console Win32? Preferibilmente, vorrei evitare di creare un handle e di utilizzare le funzioni della console di Windows. (Ho passato tutta la mattinata a correre in quel vicolo buio, crea più problemi di quanti ne risolva.) Mi sembra di ricordare di farlo relativamente semplicemente quando ero al college usando stdio, ma non trovo esempi di come farlo ora . Qualsiasi pensiero o suggerimento sarebbe molto apprezzato. Grazie.Impostazione della posizione del cursore in un'applicazione console Win32
Dettagli aggiuntivi
Ecco ciò che sono ora cercando di fare:
COORD pos = {x, y};
HANDLE hConsole_c = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
char * str = "Some Text\r\n";
DWDORD len = strlen(str);
SetConsoleCursorPosition(hConsole_c, pos);
WriteConsole(hConsole_c, str, len, &dwBytesWritten, NULL);
CloseHandle(hConsole_c)
La stringa di testo str
non viene mai inviato allo schermo. C'è qualcos'altro che dovrei fare? Grazie.
'SetConsoleCursorPosition' è una funzione di console di Windows, che ho dichiarato che vorrei evitare di utilizzare. –
Quindi, ho finito con il suggerimento di Hans di usare 'GetStdHandle (STD_OUTPUT_HANDLE)' per ottenere l'handle della console esistente, ma è risultato che avevo bisogno di usare anche 'WriteConsoleOutputCharacter()'. Non so perché quella chiamata fa il trucco, ma funziona ora. Grazie! –