83 votes

Quel est le moyen le plus simple d’analyser un fichier INI en C ++?

J'essaye d'analyser un fichier INI en utilisant C ++. Des conseils sur quel est le meilleur moyen d'y parvenir? Devrais-je utiliser les outils de l'API Windows pour le traitement de fichiers INI (avec lesquels je ne suis absolument pas familier), une solution open source ou tenter de l'analyser manuellement?

111voto

Adam Mitz Points 4540

Si vous avez besoin d'une solution multiplate-forme, essayez la bibliothèque d' options de programme de Boost.

109voto

Joel Spolsky Points 22686

Vous pouvez utiliser les fonctions de l'API Windows, telles que GetPrivateProfileString () et GetPrivateProfileInt () .

23voto

Lars Mæhlum Points 4569

Je n'ai jamais analysé les fichiers ini, donc je ne peux pas être trop précis sur cette question.
Mais j'ai un conseil:
Ne pas réinventer la roue, comme long comme un existant qui répond à vos exigences

http://en.wikipedia.org/wiki/INI_file#Accessing_INI_files
http://sdl-cfg.sourceforge.net/
http://sourceforge.net/projects/libini/
http://www.codeproject.com/KB/files/config-file-parser.aspx

Bonne chance :)

16voto

Harold Ekstrom Points 1214

J'utilise SimpleIni . C'est multi-plateforme.

15voto

Dat Chu Points 3810

Si vous utilisez déjà Qt

 QSettings my_settings("filename.ini", QSettings::IniFormat);
 

Puis lisez une valeur

 my_settings.value("GroupName/ValueName", <<DEFAULT_VAL>>).toInt()
 

Il existe de nombreux autres convertisseurs qui convertissent vos valeurs INI en types standard et en types Qt. Voir la documentation Qt sur QSettings pour plus d'informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: