Trofozoit: Ano, bylo Ti doporuceno hledat stesti jinde, protoze jinde bys za ty tri dny mozna uz mela funkcni celej ten programek. :-) Proste C (a uz vubec ne C++) se neda naucit ani snadno, ani rychle, proc myslis, ze je to jeden z jazyku, ktery se na informatickych skolach skutecne uci (a relativne dlouho), zatimco u mnohych ostatnich se kolikrat predpoklada, ze uz si to student nejak zjisti sam? :-)
pString = (char *) GlobalLock(hGlobal); je skutecne prirazeni adresy. Volas tam funkci GlobalLock, ktera bere jeden parametr (nejakeho typu, to zpameti nevim a listovat se mi nechce) a vraci hodnotu typu ukazatel (na nejakou adresu). Nejspis vraci hodnotu typu void * (cili obecny ukazatel, tj. ukazatel, u ktereho neni receno, na co ukazuje), procez je nutne (resp. vhodne, mozna ze by to prekladac zkousl i bez toho, ale neni bezpecne zvyknout si tak programovat) pretypovat to na typ ukazatel na char, tedy char *, ponevadz pString je typu ukazatel na char.
Ano, s tridou String se pracuje urcite o neco lepe, jenom je dobre vedet, ze se tim presouvas od C k C++ (to jen tak na okraj). String sice mozna nepujde tak uplne primo nacpat do clipboardu, ale na ziskani klasickeho C retezce ze Stringu tam stoprocentne je nejaka trivialni metoda (zpameti nevim, v C++ aktivne neprogramuju), cili ji akorat v jednom miste zavolas a ona vrati prave ukazatel na char, tedy char *.
Mimochodem ad posledni zavorka - ukazatel vzdycky ukazuje na jedinou vec - napriklad retezec je ukazatel na jediny znak - na prvni znak retezce, dostat se ke kazdemu dalsim znaku je snadne - je to vzdy ten nasledujici v pameti, poznat konec retezce je taky snadne, jednou v pameti narazis na znak s kodem 0, tak ten uz do toho retezce nepatri. |