ECRIRE/LIRE DANS UN FICHIER INI

Signaler
-
matmagik
Messages postés
2
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
29 juillet 2006
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9349-ecrire-lire-dans-un-fichier-ini

matmagik
Messages postés
2
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
29 juillet 2006

simple et efficace ! merci :-)
(peut-être juste rajouter dans le message initial le include windows.h)
cs_Battout
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
14 août 2007

c'est bon pour le code ca marche bien, je récupère tous mes sections avec les clés.
Il me reste que faire les conditions sur l'ancien fichier.
Je vous remercie pour votre aide.
A la prochaine
cs_Battout
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
14 août 2007

Salut, j'ai eu ds pbs au niveau de la récupération des clés de chaque section.J'ai pas pu boucler sur chaque section,en faite ma fonction que j'ai fait est:
void CConfig::AddConfigFile(CString sNewFilePath, CString sOldFilePath)
{
//Test
sOldFilePath = TEXT("C:\\affconfig-default.ini");
sNewFilePath = TEXT("C:\\affconfig.ini");
TCHAR szKeysName[1024];
TCHAR inBuf1[1024];
TCHAR szSectionOld[1024];
TCHAR szSectionNew[1024];
TCHAR szSectionNameOld[1024];
TCHAR szSectionNameNew[1024];
TCHAR szTemp[1024];
DWORD nSizeRetNew = 0, nSizeRetOld=0,nSectionsSize=0, dwSectionsSize = 0, dwKeysSize = 0;

//calculer la taille de Buffer
nSizeRetNew = GetPrivateProfileSectionNames( szSectionNameNew,
sizeof( szSectionNameNew), // size of return buffer
sNewFilePath);
// calculer le nombre de section
if(nSizeRetNew > 0)
{
dwSectionsSize = nSizeRetNew + 2;
int nSection=0,npos=0;
while ( npos < nSizeRetNew)
{

npos = npos + (_tcslen(szSectionNameNew + npos)+1);
for (int i=0; (unsigned int)i< dwSectionsSize; i++)
{
_tcsncpy(szSectionNew, szSectionNameNew,_tcslen(szSectionNameNew + 1));// je ne suis pa sur de ca en tous cas ça marche pas
nSectionsSize = GetPrivateProfileSection(szSectionNew,szKeysName,1024,sNewFilePath); //retourne les clés
}

//boucle sur les clés
//for (int i = 0; (unsigned int)i < sizeof(szKeysName); i++)
//{


//}


nSection++;
}
}
}
Je récupère tous mes sections et après j'ai pas réussi à boucler sur ces sections pour récupérer les clés.
Je suis bloqué sur cette partie,Est ce Que quelqu'un a une petite idée?
A+
cs_Battout
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
14 août 2007

Salut,
Dans ta fonction, est-ce que je peut utiliser des tableaux de TCHAR au lieu de char *?
en faite si j'utilise le char [dwRet = GetPrivateProfileSectionNames(szTemp, 1024, SourceFile);] me retourne une valeur 0 au moment de bulding et j'ai pas trouvé une solution pour l'intégrer avec mon prg.
j'ai essayé de travailler avec des tableaux comme TCHAR sztemp[1024]; à la place de char *szTemp, mais ça ma causer bcq de problème.
A+