Salut à tous :)
Cette application console prend en argument un nom de fichier,
le balise avec du code HTML,
Et crée un nouveau fichier portant le même nom, mais avec l' extension .htm.
Sur le screenshot vous voyez à gauche le résultat dans Firefox; à droite sa source HTML.
Projet hyper-intéressant je conseille à tous de se pencher sur ce type d' algorithme.
150 lignes de codes, en 40 heures.
Traite un fichier de 100Ko en 15ms (à 7000Ko/ms).
Source / Exemple :
Dans le zip:
- le fichier source: CversHTML.c
- un petit "hello world" pour tester: test.c
- un script shell pour compiler à la volée et baliser CversHTML.c
- et un batch windows
Conclusion :
Signalez les bugs, merci d'avance.
Si quelqu'un connait l' équivalent de GetTickCount() sous linux ça serait pas de refus!
4 juin 2008 à 07:31
1 août 2006 à 21:47
Joli travail. Je le mets de côté au cas où...ça peut être utile.
14 juil. 2006 à 09:29
14 juil. 2006 à 00:24
13 juil. 2006 à 22:18
* BOOL n'est pas un type de donnée ni une classe d'allocation mais juste une macro... Est il donc nécessaire de l'inclure dans le tableau MotType ?
* Fonction main : l'appel direct à argv[1] sans avoir tester le argc est franco ! En effet, 99% des implémentations usuelles placeront, si aucun paramètre n'est fourni, un pointeur null dans argv[1]. Mais ce comportement n'est pas prévu et défini par la norme et sous un quelconque compilo C venu de mars, cela peut planter l'appli...
* dans la fonction BaliserFichier() :
..
ficout= (char*) malloc(strlen(fichier)+4);
sprintf(ficout, "%s.htm", fichier);
..
AIE ! lors du free(ficout), sous VC++ crash en debug ! Pourquoi ? car le buffer ficout ne contient pas de zéro terminal. Il faut faire :
malloc(strlen(fichier)+4 + 1)......
* dans la fonction Envoi() :
..
memset(mot,0,200); -> vaut mieux : memset(mot,0,sizeof(mot));
..
* pareil pour les taille de MotsCles (17) et MotsTypes (19) : ces valeurs sont utilisées à plusieurs endroits... Un define ou un static const serait moins source d'erreurs lors d'enrichissement ultérieurs de la source.
Ce sont des petits détails ... mais bon ca peut toujours servir !
Sinon j'aurai bien vu un tableau de structure avec comme champs le caractère, le code couleur, le code fonction à appeller afin de minimiser la liste des else if de la boucle principale....
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.