REPLACE(CHAR *, ...); UN REPLACE STYLE MIRC

Signaler
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011
-
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30230-replace-char-un-replace-style-mirc

Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

Excellent, de plus, sans `goto`, c'est parfait(enfin presque), ca vaut bien une petite note :}(même si je l'ai pas essayé =P)
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

Je viens de remarquer un petit quelque chose, ta fonction ToLower() n'est pas fonctionnelle ...

Tu devrais vérifier si c'est une majuscule et si c'est le cas, alors renvoyer l'équivalent minuscule car pour tous les caractères non `alpha`, ta fonction va retourner n'importe quoi ... Pour un chiffre, elle va retourner un caractère quelconque, par exemple ...

C'est bien, tu démontre seulement le fonctionnement de certaines fonctions standards, il n'y à aucun problème, cependant, elles ne sont pas fonctionnelles tes fonctions, c'est _ca_ le problème ... Tu devrais les repenser/corriger/tester/... et ensuite, je n'aurais plus rien à dire :}

J'ai remarqué autre chose, tu as modifié ton code pour utiliser les macros standards(portables :}), va_list, va_start, etc ... c'est excellent !!!

Au fait, pour en démontrer leurs fonctionnement, de petit commentaire pourait aider les débutants/initiés à mieux comprendre sinon, ton but de vouloir en démontrer leurs fonctionnement est inutile ...


Voilà, c'est tout :}

@++;



~(.:: NitRic ::.)~
Messages postés
38
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
22 mars 2005

Ah oui au passage... Thaeron, qu'est-ce qui est ``moin portable" dans mes fonctions ?
Messages postés
38
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
22 mars 2005

"Ta fonction (replace) utilise le tableau statique d'entrée ce qui entraine un joli segmentation fault quand la taille totale des remplacements dépasse la taille de la chaîne (l'exemple que tu as mis dans la description l'illustre parfaitement)."

La taille total du tableau est défini par REPLACE_SAVE_LEN et non REPLACE_MAX, donc pas de ``segmentation fault", sauf si tu dépasses les 1024, dans lequel cas tu peux incrémenter la valeur...

REPLACE_MAX n'est que le nombre d'arguments passés à la fonction
``replace("..", "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", ..., 0);

Pour les fonctions, je répète... je les ai faites pour montrer comment elles marchent... Si vous voulez les fonctions POSIX, vous n'avez qu'a enlever les "__" devant les fonctions.
Afficher les 8 commentaires