Bon, on s'en doutait, le Tawainais allait encore faire des siennes ^^ En regardant toujours une partie du code, je suis tombé sur une façon que je trouve assez originale pour écrire un fichier XML... Ca se décompose en 2 parties :
1. Tout en haut du fichier de sources, on trouve la déclaration des chaines de caractères. Pour des questions évidentes je mets n'importe quoi dans les balises, ce n'est pas important ^^
char line1[] = "<balise1 val=\"%i\">\n";
char line2[] = " <balise2.....>\n";
char line3[] = " plein de blabla\n";
char line4[] = " </balise2.....>a\n";
...
...
char line12[] = "</balise1>\n";
Donc ça c'est pour l'ouverture des festivités. Bon, il aurait pu faire un vrai tableau plutôt que de numéroter les variables, mais pourquoi pas ^^
2. Le code d'écriture à proprement parler. Là il a fait une chose que je trouve particulièrement intéressante... A noter que pour une fois je n'ai pas renommé les variables puisque de toute façon on ne peut pas savoir à quoi elles correspondent ^^
void writeXML(...)
{
char buffer[256];
FILE *f;
un peu de code d'init, ouverture du fichier, etc...
ça met des variables à certaines valeurs
// Write XML file
memset(buffer, 0, 256);
sprintf(buffer, line1, val1);
fwrite(buffer, 1, strlen(buffer), f);
memset(buffer, 0, 256);
sprintf(buffer, line2, val2);
fwrite(buffer, 1, strlen(buffer), f);
memset(buffer, 0, 256);
sprintf(buffer, line3, val3a, val3b);
fwrite(buffer, 1, strlen(buffer), f);
...
...
memset(buffer, 0, 256);
sprintf(buffer, line12, val12);
fwrite(buffer, 1, strlen(buffer), f);
}
Pour des questions de lisibilité je n'ai pas mis tout le code, bien entendu, mais on comprend bien le principe ^^ Je ne vous ferez pas l'affront de signaler ce que je trouve choquant (et il y a plusieurs choses "originales" ^^).