Question

J'ai une application MFC qui est basé sur un assistant. L'application demande à un utilisateur un nombre variable de questions qui sont ensuite écrites dans un fichier INI qui est ensuite crypté lorsque l'utilisateur clique sur Terminer.

Tous les parseurs fichier INI que j'ai vu jusqu'à présent vu lire ou écrire dans un fichier physique sur le disque. Je ne veux pas faire ce que le fichier INI contient des informations confidentielles. Au lieu de cela, je voudrais que le fichier INI à seulement basé en mémoire et jamais écrites sur le disque sous une forme non chiffrée.

Comme l'application permet aux utilisateurs de revenir en arrière et changer les réponses, Il me est apparu que je pouvais utiliser une base de données en mémoire à cet effet, mais encore une fois, je ne veux rien écrit sur le disque et ne veulent pas expédier un DB avec mon application si elle peut être évitée.

Je dois utiliser un fichier INI comme le fichier quand un crypté sera traité par une 3ème partie.

Toutes les suggestions bienvenues.

Merci ..

Était-ce utile?

La solution

J'ai une classe IniFile C ++ qui vous permet de travailler avec des fichiers ini en mémoire: http://www.lemonteam.com/downloads/inifile.h

Il est un seul fichier .h court, bien documenté. Exemple d'utilisation:

IniFile if ( "myinifile.ini" );

if.SetString( "mykey", "myvalue" );


// Nothing gets actually written to disk until you call Flush(), Close() or the object is deleted
if.Flush();
if.Close();

Vous devriez être en mesure de modifier la méthode flush () afin qu'il applique une sorte de cryptage des données enregistrées.

Autres conseils

Sons comme une bonne application pour un fichier mappé en mémoire, puisque vous pouvez contrôler quand votre point de vue en mémoire est vidé dans le fichier sur le disque.

Pourquoi auriez-vous besoin d'avoir dans un format de fichier .ini si elle ne sont jamais stockées sur le disque?

Pourquoi ne pas simplement le garder en mémoire en tant que structure de données et d'utiliser vos méthodes de fichier ini normales pour l'écrire sur le disque quand vous voulez.

Si vous ne souhaitez pas enregistrer dans un fichier, quel est le point d'utiliser le fichier INI alors? API INI est bascially un sac de propriété ou d'une paire de valeur clé basée sur le fichier de disque. Si vous ne voulez pas utiliser le fichier, je vous suggère d'utiliser votre propre structure de données hachage ou un dictionnaire pour stocker la valeur de clé parirs

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top