|
Dernière réponse | |
---|---|
Sujet : [C/C++] GetUsername, les !$%$?% de pointeurs | |
n0mad | Si tu aloues une chaine sur la pile d'une fonction, tu ne peux pas la renvoyer en valeur de retour.
Tu dois la créer sur le tas (avec malloc par exemple) mais tu auras ensuite à charge de la détruire ultérieurement. Par contre, si tu utilises une CString (dans les MFC et qui possède un constructeur de copy) tu peux faire : CString AvoirInfos () { CString Nom; DWORD ml = 255; GetUserName (Nom.GetBuffer(ml),&ml); /* un pointeur sur un DWORD se caste en LPDWORD en principe */ Nom.ReleaseBuffer(); return Nom; } |
Vue Rapide de la discussion |
---|