Faire appel à un fichier .ini en C++
faridamaster
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
SchSoftware Messages postés 46 Statut Membre -
SchSoftware Messages postés 46 Statut Membre -
Bonjour,
SVP, j'ai besoin de faire appel d'un fichier .ini lors d'une programmation d'interface graphique en C++ et je sais pas comment faire , est-ce-que vous pouriez m'aider?
Merci
SVP, j'ai besoin de faire appel d'un fichier .ini lors d'une programmation d'interface graphique en C++ et je sais pas comment faire , est-ce-que vous pouriez m'aider?
Merci
1 réponse
-
Je vous donne la réponse sous Windows... (penser à donner un peu plus de détails pour vos prochaines question (environnement ... ...)!)
Le plus simple est d'utiliser la fonctionGetPrivateProfileString(LPCTSTR lpszAppName, LPCTSTR lpszKeyName, LPCTSTR lpszDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpszFileName);
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofilestring?redirectedfrom=MSDN
Désoler, lien en Anglais
Sinon, un peu en détails de ses paramèters:
LPCTSTR lpszAppName: Le nom de la section
LPCTSTR lpszKeyName: Le nom de la clé
LPCTSTR lpszDefault: La valeur par défaut qui sera retourner si la section/clé n'est pas trouver
LPTSTR lpReturnedString: UNE VARIABLE? INITIALISER A LA TAILLE SUFFISANTE OU SERRA STOCKER LE RESULTAT (ou la valeur par défaut)
DWORD nSize: La taille de cette variable (Son nombre de caractères)
LPCTSTR lpszFileName: Le nom du fichier ini
Imaginons un fichier "c:\UnFichier.ini" contenant (entre autre)
[MaSection]
MonNomDeCle=MaValeur
............................
Pour lire la valeur, il faut écrireTCHAR tchMonResultat[512]; // je prépare une variable ou serra stocker mon résultat, de taille 512... ZeroMemory(tchMonResultat, 512 * sizeof(TCHAR)); // on initialise le contenu à "0" GetPrivateProfileString(_T("MaSection"), _T("MonNomDeCle"), _T("") /* pas de valeur par défaut */, tchMonResultat/* ma variable de sortie */, 512 /* sa taille */, _T("c:\\UnFichier.ini"));
Voilà
J'espère avoir un peu aidé
Bien à vous