Pour des raisons je ne suis pas du tout d'accord avec mais "Les Pouvoirs (de l'Anti-Utilisabilité)" continuent à décréter malgré mes objections, j'ai une routine de tri qui basique strcmp() compare à trier par son nom . Cela fonctionne très bien. il est difficile de se tromper. Cependant, à la onzième heure, il a été décidé que les entrées commençant par un nombre devraient être APRES les entrées qui commencent par une lettre, contrairement à l'ordre ASCII. Ils citent la norme EBCDIC qui comporte des chiffres à la suite de lettres, de sorte que l'hypothèse antérieure n'est pas une vérité universelle, et je n'ai aucun pouvoir pour gagner cet argument ... mais je m'égare.strcmp() mais avec 0-9 AFTER A-Z? (C/C++)
C'est là que réside mon problème. J'ai remplacé toutes les références appropriées à strcmp avec un nouvel appel de fonction nonstd_strcmp, et maintenant j'ai besoin d'implémenter les modifications pour accomplir le changement de tri. Je l'ai utilisé une source FreeBSD comme ma base: http://freebsd.active-venture.com/FreeBSD-srctree/newsrc/libkern/strncmp.c.html
if (n == 0)
return (0);
do {
if (*s1 != *s2++)
return (*(const unsigned char *)s1 -
*(const unsigned char *)(s2 - 1));
if (*s1++ == 0)
break;
} while (--n != 0);
return (0);
Je suppose que je pourrais avoir besoin de prendre un certain temps loin de penser vraiment sur la façon dont cela devrait être fait, mais je suis sûr que je ne suis pas le seul celui qui a connu la mort cérébrale des changements de spécification juste avant la libération.
La quantité de haine emballée dans cette question m'amuse –
certainement rien à voir avec C++ –
Quelle est votre question ? – sbi