[c++] wczytywanie "z ekranu"

0

witam

jak można odczytać coś z ekranu? np w 25 kolumnie i 15 wierszu znajduje się znak 'K' - jak mogę
wczytać tę literę do zmiennej ? oczywiście na etapie kompilacji nie jest wiadome jaka litera tam stoi ...

do "najechania" na ten "punkt" (text mode) użyje funkcji gotoxy(25,15), a jak teraz wczytać to co tam jest zapisane do zmiennej ?

korzystam z kompilatora Dev-Cpp

pozdrawiam i dziekuję za pomoc

0

Nie ma możliwości od tak sobie wczytać coś z monitora. Do tego musisz pogmerać w pamięci ekranu.

Tu masz linka do arta o zapisie (w pascalu, ale jako wstawka asm), odczyt jest w zasadzie identyczny link

Edytka:

Sorki, nie zauważyłem że na końcu korzysta z mem. W C++ nie wiem czy jest tego odpowiednik (tablica bezpośredniego dostępu do pamięci), chyba że da się jakoś adres samemu spreparować. Tak czy siak pod adresem $B800:120y+x2 masz to czego szukasz :)

0

Dev Cpp, znaczy windows... no to:

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

char getchar_at(int x, int y) {
    char result;
    DWORD received;
    ReadConsoleOutputCharacter(
         GetStdHandle(STD_OUTPUT_HANDLE),
         &result, 1,
         (COORD){x,y},
         &received
         );
    return (1==received) ? result : 0;
    }

int main() {
    int i;
    printf("&....\n.#...\n..@..\n...!.\n");
    for(i=0; i<4; i++)
        printf("[%i,%i] = %c\n", i, i, getchar_at(i,i) );
    return 0;
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1