Ajouter le bibliothèque XML et un appel à une commande dos dans un programme C s

boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 - 24 juin 2009 à 21:06
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 30 juin 2009 à 15:20
Bonjour,


Je suis entrain de programmer en C avec Visual studio 2008 sous Windows
XP. Je voudrais parser un fichier XML dans mon programme C. J'ai trouvé
libxml2 avec DOM et SAX. J'ai decidé d'utiliser SAX puisque n'est pas
couteux coté mémoire.


-J'ai décompressé le dossier libxml2 alors j'ai trouvé trois
dossiers(include, bin et lib) alors où je vais mettre ces dossiers dans
mon projet de travail?


-Pouvez-vous m'aider en me donnant les étapes à suivre pour installer
Libxml2 sous windows et extraire les données de fichier XML pour que je
puisse l'utiliser dans mon programme C sous Windows ?


- Je vais appeler dans mon programme C une commande dos qui permet d'exécuter un programme Java.

Voici mon code:

Code :
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
puts("hello");
system("cd C:\\Documents and Settings\\Administrateur\\Mes documents\\Visual Studio 2008\\Projects\\Ex1\\Galicia3\\Galicia3");
system("java -Xmx1024m -cp galicia3.jar galicia.algorithms.lattice.MagaliceA_Lat teste-file.bin.xml false teste-file.lat.xml");
return 0;
}

Après execution, je n'aurais pas le résultat des commandes dos?

Citation:
hello

Exception in thread "main" java.lang.NoClttice/MagaliceA_Lat

Appuyez sur une touche pour continuer...

Je serais très contente pour vos aides.


Merci et Bonne journée.

1 réponse

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
30 juin 2009 à 15:20
Salut,

Quand on veux utiliser une librairie C ou C++, on ne recopie pas ses dossier dans son projet.
On ajoute le dossier "include" dans les chemins de recherche du compilateur.
On ajoute le dossier "lib" dans les chemins de recherche du lieur.
On ajoute la librairie (toto.lib) qui va bien en entrée du lieur.

Quand tu exécute un programme avec system, la sortie est dirigée sur la console.
Dans ton cas, il y a une exception dans le programme que tu exécutes. Il faut que tu corriges ton java.
Normalement, un message d'exception est plus précis que ce que tu nous donnes ici... C'est trop juste pour corriger.

Le :
system("cd C:\\Documents and Settings\\Administrateur\\Mes documents\\Visual Studio 2008\\Projects\\Ex1\\Galicia3\\Galicia3");

Est très moche aussi... Tu peux placer ton jar relativement à ton exe et récupérer le chemin de l'exe à l'aide de GetModuleFileName.

Pour récupérer la sortie d'une commande, tu peux la rediriger dans un fichier, ou utiliser un pipe. Dans ce genre là.
0
Rejoignez-nous