[Aide] Léger problème avec GetPrivateProfileString ()

Résolu
Signaler
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour à tous !

Développeur c++, je me suis mis à c# depuis quelques jours, pour le fun, et j'ai un chti problème avec la lecture d'un fichier ini !!

Ne me disputez pas, je sui au courant que la tendance voudrait à se pencher vers du XML ou à écrire dans le registre, mais dans mon cas, je bosse sur un fichier ini :)

J'ai donc voulu utiliser la focntion magique  : GetPrivateProfileString(..........)

Voici mon appel :

GetPrivateProfileString(

"Config_SendMail",
"host",
"", m_StrHost,32 , m_StrPathFichierIni);

Voici maintenant le contenu de mon ini :

------------------------------
[Config_SendMail]
host=smtp.xxxxx.com
port=25
user=
pass=
 
----------------

Ce fichier est placé sous c: et il se nomme config.ini.
Ma donnée membre m_StrPathFichierIni me donne au débugger "C:\\config.ini"

Le problème est tout simplement que je n'arrive pas à récupérer les valeurs de mon INI ! Je me demande ainsi d'ou vient le problème ? Est ce normal que le chemin d'accès est éét "doublé" en slash par le compilateur ?

Avez vous une idée sur le source de mon problème ?

Merci à tous !

Bonne journée

3 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
55
Salut,

Après test, pour ma part cela fonctionne parfaitement

http://www.pinvoke.net/default.aspx/kernel32/GetPrivateProfileString.html

Mx
MVP C# 
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020

Merci à toi, j'ai utilisé les StringBuilder, c'est assez lourd, mais ca passe !

Nixeus'
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
98
Salut,

Et concernant le doublement des antislash c'est normal, le debugger l'affiche en quelque sorte la chaîne "prête à coller" en litéral dans le code (le compilateur n'y est pour rien).

/*
coq
MVP Visual C#
CoqBlog
*/