fondre
Affiche originale- 4 déc. 2006
- Katy, Texas
- 8 juin 2007
(En plus, maintenant je suis en mission pour le trouver...)
Merci Todd T
fondre
Affiche originale- 4 déc. 2006
- Katy, Texas
- 8 juin 2007
je vois
- 25 octobre 2004
- 8 juin 2007
Si vous ne voulez pas ou n'avez pas besoin de vous soucier des paramètres régionaux, alors :
_stricmp( str1.c_str(), str2.c_str() )
Est la solution la plus simple (également assez efficace).
Les paramètres régionaux compliquent un peu les choses (enfin, ce sont vraiment les lacunes de la bibliothèque standard qui rendent cela si compliqué).
Laissez-moi voir si je peux trouver un lien pour quelque chose qui traite des paramètres régionaux...
en voici un : http://lafstern.org/matt/col2_new.pdf
Je ne sais pas s'il sait vraiment de quoi il parle, mais on dirait qu'il le sait. Il continue pendant un certain temps à ce sujet afin que vous puissiez comprendre le problème, mais vous pouvez passer en bas et consulter le dernier bloc de code pour sa meilleure solution. T
fondre
Affiche originale- 4 déc. 2006
- Katy, Texas
- 9 juin 2007
Merci pour la confirmation - heureux de voir que je ne l'ai pas simplement manqué.
Todd
Code : |_+_| T
fondre
Affiche originale- 4 déc. 2006
- Katy, Texas
- 10 juin 2007
iSee a dit : Si vous ne voulez pas ou n'avez pas besoin de vous soucier des paramètres régionaux, alors :
_stricmp( str1.c_str(), str2.c_str() )
Est la solution la plus simple (également assez efficace).
D'accord, j'abandonne. Où es-tu venu avec _stricmp ?
Todd DANS
wittegijt
- 18 févr. 2007
- Eindhoven
- 11 juin 2007
toddburch a dit : OK, j'abandonne. Où es-tu venu avec _stricmp ?
Todd
C'est un truc de Windows. Les bibliothèques Unix utilisent strcasecmp, c'est au format .
Wittegijt.
je vois
- 25 octobre 2004
- 11 juin 2007
toddburch a dit : OK, j'abandonne. Où es-tu venu avec _stricmp ?
Todd
OK, désolé d'avoir jeté ça là-bas.
Je pensais que cela faisait partie de la bibliothèque C standard, mais ce n'est pas le cas. Il apparaît simplement, officieusement, sous différents noms, dans diverses implémentations de la bibliothèque C. Ainsi, une comparaison insensible à la casse n'est pas non plus une partie officielle de la bibliothèque C officielle. Bon sang. Cela semble être une énorme omission. Sous VS, c'est _stricmp() ou stricmp(), sous CodeWarrior pour Mac c'est stricmp() ou strcasecmp(), et sous OS X 10.4/Xcode c'est strcasecmp().
À bien y penser, le trait de soulignement principal aurait dû me donner un indice.
Je suppose que si vous voulez vous conformer au standard C, vous devez implémenter le vôtre en utilisant tolower() (ou toupper()) dans une boucle.
Voyons qu'un premier passage pourrait être (C'est du haut de ma tête, PAS de code testé):
Code : |_+_|
Quoi qu'il en soit, encore une fois, désolé pour le mauvais conseil. Je suppose que je n'ai pas vraiment fait beaucoup de codage C/C++ sur Mac OS X où je voulais éviter l'API du système d'exploitation (CFString, etc.) depuis l'époque de CodeWarrior... T
fondre
Affiche originale- 4 déc. 2006
- Katy, Texas
- 11 juin 2007
OK, maintenant à strcasecmp() . Le site Web cppreference.com que j'utilise semble n'être que du C/C++ standard. J'ai recherché sur Google un site de référence spécifique à Mac OS X XCode et je n'en ai pas trouvé. Qu'est-ce qu'un bon site Web de référence Mac OS X C++ ? Ou existe-t-il une référence C++ intégrée à l'aide de XCode quelque part et je ne l'ai tout simplement pas trouvée ? Ou, à défaut, y en a-t-il un sur le Centre de développement Apple que j'ai également raté ?
Aussi grandes que soient les images de disque XCode que je télécharge et installe lorsque vous y êtes invité, il y a sûrement une référence de langue dans quelqu'un - je veux dire, le contenu Java que j'ai téléchargé au départ était ÉNORME.
Todd
Krevnik
- 8 sept. 2003
- 11 juin 2007
toddburch a dit : OK, maintenant strcasecmp() . Le site Web cppreference.com que j'utilise semble n'être que du C/C++ standard. J'ai recherché sur Google un site de référence spécifique à Mac OS X XCode et je n'en ai pas trouvé. Qu'est-ce qu'un bon site Web de référence Mac OS X C++ ? Ou existe-t-il une référence C++ intégrée à l'aide de XCode quelque part et je ne l'ai tout simplement pas trouvée ? Ou, à défaut, y en a-t-il un sur le Centre de développement Apple que j'ai également raté ?
C'est là, mais je ne pense pas qu'il passe en revue les fonctions C qui se trouvent dans la couche POSIX, juste tous les ajouts d'Apple à POSIX. Vous pouvez utiliser le terminal pour accéder aux pages de manuel sur certaines de ces fonctions. 'man strcasecmp' vous amènera directement à la page parlant de cette fonction et décrira comment l'utiliser.
je vois
- 25 octobre 2004
- 11 juin 2007
http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html
qui est une table des matières pour tout dans les pages de manuel OS X, y compris les fonctions de la bibliothèque C.
La bibliothèque de référence Xcode accède aux pages de manuel en plus d'autres ressources, elles sont donc toutes disponibles via Xcode (j'utilise tout le temps 'Rechercher le texte sélectionné dans la référence API').
Il semble que les fonctions C se trouvent dans la section 3. Il semble que la documentation de chaque fonction contienne une section « standard » ou « historique » qui donne des informations sur la norme à laquelle la fonction est conforme. Apparemment, strcasecmp() a été déplacé de 'string.h' à 'strings.h' pour des raisons de conformité. Je ne sais pas exactement de quelle manière cela le rend conforme. Je suppose que cela signifie que les fonctions non standard ne doivent pas apparaître dans string.h, elles l'ont donc déplacées vers un autre fichier d'en-tête. T
fondre
Affiche originale- 4 déc. 2006
- Katy, Texas
- 11 juin 2007
Articles Populaires