Taiwanais : jamais 2 sans 3
Par Greg le samedi, juin 19 2010, 10:59 - Lien permanent
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" ^^).