cs_Matt67
Messages postés549Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 6 mars 2010
-
30 juil. 2004 à 21:48
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
31 juil. 2004 à 15:08
Bonsoir,
Voici un morceau de code qui recupere le chemin de l'application et change l'extention en .ini (Dites moi si mon code est bien 'codé')
LPTSTR lpFichierIni;
// On recupere le chemin du fichier ini (dans le repertoire de l'application)
lpFichierIni = new char[MAX_PATH];
GetModuleFileName(NULL, lpFichierIni, lstrlen(lpFichierIni));
lstrcpyn(lpFichierIni, lpFichierIni, lstrlen(lpFichierIni) - 3);
lstrcat(lpFichierIni, ".ini");
// Pour le debug en mode release.
MessageBox(hwndDlg, lpFichierIni, "Fichier INI", MB_OK);
Le probleme c'est qu'en compilant en mode Debug, pas de probleme mais en mode Release, à l'execution, le chemin est tronqué ???
j'ai du style C:\PROGRAMM FILE .ini
Une autre petite question en passant :
J'emploi ici le mot clef new qui est du C++, comment puis je faire pour faire de la programmation C/Win32, utiliser les malloc ou les globalAlloc ???
par contre j'utilisais LPTSTR mais je trouve que l'allocation memoire est un peu lourde avec HeapAlloc ou VirtualAlloc pour des chaines de caracteres. Ici pas de probleme car la chaine est fixe mais si on veut faire des chaines dynamiques pas moyen d'y echapper ???
Regarde bien ton code et compare au mien, tu ne vois pas que j'ai acces direct aux octets a modifier sans recalcul d'adresse ?
Faut toujours viser la performance.