Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Metody wykorzystujące wskaźniki

Ostatnio zmodyfikowano 2017-08-15 21:57
Autor Wiadomość
tothk2a11
Temat założony przez niniejszego użytkownika
Metody wykorzystujące wskaźniki
» 2017-08-15 16:37:11
Zapoznaje się właśnie z funkcjami i metodami obsługi schowka windosa. W programie który pisze potrzebuje przekopiować tekst ze schowka do zmiennej typu string.

C/C++
OpenClipboard( NULL );
// Otwiera schowek do sprawdzenia i wykonania na nim innych funkcji

HANDLE uchwytDoSchowka = GetClipboardData( CF_OEMTEXT );
// delkaruje nazweUchwytu  // jeśli funkcja się powiedzie, zwraca uchwyt do obiektu w określonym formacie
cout << uchwytDoSchowka << endl; //

TCHAR * wskaznikDoTekstu =( TCHAR * ) GlobalLock( uchwytDoSchowka );
// delkaeuje nazweWskaźnika        // zwraca adres/uchwyt do pierwszego bajtu przechowującego dane
cout << wskaznikDoTekstu << endl; // sprawdzenie zawartosci

string daneZeSchowka = wskaznikDoTekstu;
cout << daneZeSchowka << endl; // sprawdzenie zawartosci

Sam kod się kompiluje i (o dziwo) robi to co trzeba. Pomijając fakt że nie jest odporny na ludzką głupote.

Mój problem polega na braku zrozumienia co właściwie dzieje się w tej linii kodu:

C/C++
TCHAR * wskaznikDoTekstu =( TCHAR * ) GlobalLock( uchwytDoSchowka );

To co rozumiem z tego zapisu:
TCHAR * wskaznikDoTekstu
- deklaruje nazwę wskaźnika;
GlobalLock( uchwytDoSchowka )
 zwraca adres/uchwyt w pamięci do pierwszego bajtu

Ale za co odpowiada
( TCHAR * ) GlobalLock( uchwytDoSchowka )
- podejrzewam że to jakaś funkcja lub metoda. Ale nie mam pojęcia czego właściwie szukać. Co to właściwie jest???
P-163998
jankowalski25
» 2017-08-15 17:13:19
TCHAR
 oznacza
char
 lub
wchar_t
 i zwykle jest definiowane mniej więcej tak:
C/C++
#ifdef _UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
P-163999
michal11
» 2017-08-15 21:57:18
Rzutowanie w stylu C.
P-164005
« 1 »
  Strona 1 z 1