2011-01-10 6 views
-1

J'ai créé un programme C++ mais maintenant j'ai besoin de stocker en permanence sur le disque dur certains paramètres concernant le programme.Où stocker des données?

Où dois-je stocker ces données?

  • Dans une base de données sqlite?
  • Dans le registre Windows (si Linux?)? Dans un fichier XML
  • Dans d'autres fichiers?
+4

Cela dépend de quel type de données qu'il est et sur la façon dont vous allez l'utiliser à l'avenir. Sans une telle information, cette question est trop générique pour répondre. Si c'est juste "quelques paramètres", un simple fichier .ini à côté de votre binaire devrait suffire. – Jon

+0

@Jon: cela semble être une mauvaise idée sur à peu près n'importe quel système aujourd'hui. Sous Linux, vous devez être root; sous Windows, vous utiliseriez l'UAC, et sur les systèmes embarqués, le binaire pourrait très bien être en ROM. – MSalters

+0

@MSalters: Ce n'est pas vrai, car le programme sera stocké dans le répertoire personnel de l'utilisateur. – Jon

Répondre

2

Cela dépend du type et de la taille des données. Pour les données de petite taille et moins complexes, les fichiers texte simples sont meilleurs. Pour les données complexes, vous pouvez utiliser une base de données XML ou sqlite. Si vous avez besoin d'écrire des requêtes complexes, optez pour sqlite. Il stocke les données dans les fichiers mais donnera de meilleures options de requête.

+0

Ai-je mentionné combien je déteste XML? Oh s'il vous plaît, évitez-le à des fins autres que DOM. Oh s'il te plait, je t'en supplie! Aide à faire de ce monde un meilleur endroit pour nos enfants. – jweyrich

+0

U n'a pas fait. Maintenant vous avez et la façon dont vous mendiez. Je ferai attention :) –

0

Les applications modernes utilisent le registre système pour stocker les informations de configuration.

Voir l'article Windows: Utilisation du registre dans un C++ application

http://msdn.microsoft.com/en-us/library/ms838625.aspx

+0

Non, ils ne le font pas. Le registre est utilisé au maximum pour les informations d'installation. –

Questions connexes