2010-03-04 4 views
0

Pour une raison quelconque, mon fichier Tinyxml créé via Visual Studio 2005 (C++) est enregistré sur mon bureau à la place du dossier de débogage ou dans le dossier racine du programme.Visual Studio 2005 et Tinyxml - emplacement du fichier xml

Si quelqu'un connaît un moyen de dire à vs2005 d'enregistrer le fichier create tinyxml ailleurs?

J'ai essayé avec eclipse et il a enregistré le fichier dans le dossier racine du programme, ce que j'essaie de faire.

merci.

EDIT: Je fais un objet BHO (Browser Helper Object), il s'agit d'un add-on Internet Explorer. donc quand je lance mon programme le 'exe' est iexplore.exe de c: \ program files \ Intenet Explorer

+0

Si vous avez posté du code, cela aurait été résolu en quelques secondes. – 0xC0DEFACE

Répondre

1

Vous ne devriez normalement pas aspirer à écrire des fichiers de données dans votre répertoire de programme. Plutôt que de laisser le répertoire de sortie au hasard, vous devriez indiquer explicitement à TinyXml où vous voulez que le fichier soit créé en passant le chemin complet lorsque vous appelez SaveFile.

+0

J'ai essayé de faire: doc.SaveFile ("c: \ myxml.xml"); et son enregistre simplement le fichier avec ce nom. J'ai regardé dans la documentation tinyxml et il dit que cette fonction obtient le nom du fichier. pas un mot sur le chemin. http://www.grinninglizard.com/tinyxmldocs/classTiXmlDocument.html – shaimagz

+0

SaveFile est implémenté via fopen_s (ou fopen) - les deux fonctionnent avec des chemins complets. Il n'est pas possible que le nom racine d'un fichier contienne un «:». Pourquoi voulez-vous dire par là «enregistre le fichier avec ce nom»? De plus, si vous utilisez vraiment '\', dans votre source il doit être "\\". Sinon, utilisez '/'. –

+0

Merci beaucoup! le '\' était le problème. – shaimagz

1

Assurez-vous que vous avez défini le répertoire de travail $ (OutDir) dans "Projet Propriétés-> Debugging"

puis il suffit d'appeler:

TiXmlDocument tiXmlDocument; 
tiXmlDocument.SaveFile("bleh.xml"); 

Ce fichier doit alors dans le même répertoire que votre exe. Editer: Si c'est un ajout à Internet Explorer que je ne sais pas où le répertoire de travail serait, mais je suis sûr qu'il y aurait une variable d'environnement ou quelque chose fourni par Internet Explorer qui vous donnerait un répertoire temporaire ou quelque chose.

+0

ne fonctionne toujours pas. – shaimagz

Questions connexes