fonction XML relou - C++ - Programmation
Marsh Posté le 15-05-2003 à 17:35:04
Code :
|
Il faudrait que tu alloues ton strtmp, non?
Marsh Posté le 15-05-2003 à 18:59:13
lalloc jlé po ecrite, mais c fé et c bon. Dot part, la fonction strcat est mal utilisée, mais c bon ossi... C juste au nivo du typage ke ca pose un pb...
Marsh Posté le 15-05-2003 à 17:30:35
Je dois creer un fichier XML a laide de fonctions de la librairie C "libxml". Dans ce fichier, je dois creer des noeuds avec la fonction "xmlNewChild" de prototype:
xmlNodePtr xmlNewChild (xmlNodePtr parent,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *content);
Jusque la, pas de pb, ca marche bien...
PAr contre, quand je veux concatener 2 chaines pour mettre le resultat dans "name", ca chie...
Concretemetn ca donne:
char*strtmp=strcat(strtmp, "parameter name=" );
strtmp=strcat(strtmp, listP->Name);
if (tmp->ListDataset->DataVal[j] == 0)
{
tmpdata=xmlNewChild(sdata, NULL, strtmp, "0" );
}
Ca compile, ca execute, mais ca marche pas, le fichier XML resultant n'est po complet paskil execute mal la fonction.
Je precise que la gestion des listes est bonne, C PO CA LE PB (deja testé et re-testé, c bon), et si jecris:
if (tmp->ListDataset->DataVal[j] == 0)
{
tmpdata=xmlNewChild(sdata, NULL, "test", "0" );
}
ca marche bien. C vraiment sur le resultat de strcat ke ca pose un pb...
MERCI D'AVANCE