2016-02-25 1 views
-2

Mon fichier script.cpp contient les lignes suivantes:Comment stocker des variables C++ dans un fichier INI, CFG ou XML?

bool mod_enabled = true;  //Enable/Disable 
BYTE display_delay = 15;  //Redisplay delay 

Idéalement, les valeurs de mod_enabled et display_delay doit être tiré à partir d'un fichier de configuration externe que l'utilisateur peut modifier. (Le code lui-même est compilé dans un plugin GTAV ASI, qui s'exécute au début du jeu.)

Je n'ai pas besoin de sauvegarder ou de modifier ces valeurs en cours de partie. Quelle est la solution la plus simple?

+0

Les convertir en une chaîne ?! par exemple. 'mod_enabled? "vrai": "faux" ' –

+0

Je ne comprends pas ce que vous dites. J'ai besoin de stocker ces valeurs dans un fichier de configuration externe et ensuite lire à partir de ce fichier lors de leur définition dans le projet. –

+0

Lire le fichier en tant que texte (chaînes). Convertir en représentation interne. Ecrire en tant que chaînes. par exemple. booléen à "vrai"/"faux!" –

Répondre

0

Il s'avère que la solution est simple.

fichier INI (XXX.ini):

[Settings] 
mod_enabled=1   // Enable/Disable 
display_delay=1   //Redisplay delay 

CODE:

bool mod_enabled = GetPrivateProfileInt("Settings", "mod_enabled", 1, "./XXX.ini") != 0; 
int display_delay = GetPrivateProfileInt("Settings", "display_delay", 15, "./XXX.ini"); 

Le = 0 est nécessaire de jeter un nombre entier à une valeur booléenne!. Sinon, Visual Studio vous donnera des erreurs.