[Résolu] Lecture dans un fichier avec GetPrivateProfileString

Lecture dans un fichier avec GetPrivateProfileString [Résolu] - C++ - Programmation

Marsh Posté le 29-10-2007 à 16:59:03    

Bonjour,
 
J'essaye d'utiliser la fonction GetPrivateProfileString pour lire des données dans un fichier qui s'appelle parametres.ini.
 
Mon fichier contient :

Code :
  1. [section]
  2. cle=5000


 
Pour lire la valeur de la cle, j'utilise donc le code suivant :

Code :
  1. char strReadString [200];
  2. GetPrivateProfileStringA("section", "cle", "-1", strReadString, 5, "parametres.ini" );


 
Ca me renvoit systématiquement la chaîne par défaut : "-1" au lieu de la valeur que je voudrais : "5000" :(
Pourtant, j'ai testé avec un fopen("parametres.ini", "r" ); et mon fichier est bien accessible en lecture. J'ai aussi essayé avec différentes tailles de caractères à lire : 200, 199, 4, 5 et sans succès ^^'
 
Je précise que j'utilise GetPrivateProfileStringA et non pas GetPrivateProfileString parce que GetPrivateProfileString utilise la fonction GetPrivateProfileStringW apparemment à cause d'une sombre histoire d'Unicode dans un define, et je n'arrive pas à utiliser GetPrivateProfileStringW qui n'accepte pas les chaînes de caractère en argument.
 
Si quelqu'un a une idée de pourquoi ça ne marche pas, ses conseils seraient les bienvenus :)


Message édité par Mozz_ le 29-10-2007 à 17:25:51
Reply

Marsh Posté le 29-10-2007 à 16:59:03   

Reply

Marsh Posté le 29-10-2007 à 17:20:45    

YATAAA ! :p
 
J'ai réussi, après avoir été bloqué 3 bonnes heures dessus -_-
Pour ceux que ça intéresse, voilà la solution. Il faut écrire :

Code :
  1. char strReadString [200];
  2. GetPrivateProfileStringA("section", "cle", "-1", strReadString, 5, ".//parametres.ini" );


 
C'est juste la façon d'écrire le chemin du fichier qui n'était pas bonne. Pourtant, ça marche avec un fopen. Tss, pas très intuitif tout ça.
 
Bref, désolé pour le dérangement, et merci quand même. Je précise que j'avais chercher plusieurs heures sur le net avant de me décider à poster. J'ai continué à chercher après avoir posté et j'ai enfin trouvé.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed