fondre
Cartell original- 4 de desembre de 2006
- Katy, Texas
- 8 de juny de 2007
(A més, ara tinc la missió de trobar-lo...)
Gràcies, Todd T
fondre
Cartell original- 4 de desembre de 2006
- Katy, Texas
- 8 de juny de 2007
veig
- Oct 25, 2004
- 8 de juny de 2007
Si no voleu o necessiteu preocupar-vos per les localitzacions, aleshores:
_stricmp( str1.c_str(), str2.c_str() )
És la solució més senzilla (també força eficient).
Els locals compliquen bastant les coses (bé, realment són les deficiències de la biblioteca estàndard les que fan que això sigui tan complicat).
A veure si trobo un enllaç per a alguna cosa que tracti de localitzacions...
aquí en teniu una: http://lafstern.org/matt/col2_new.pdf
No sé si realment sap de què parla, però sembla que sí. Continua una estona sobre això perquè pugueu entendre el problema, però podeu saltar al final i consultar l'últim bloc de codi per trobar la seva millor solució. T
fondre
Cartell original- 4 de desembre de 2006
- Katy, Texas
- 9 de juny de 2007
Gràcies per la confirmació, m'alegro de veure que no només m'ho vaig perdre.
Todd
Codi: |_+_| T
fondre
Cartell original- 4 de desembre de 2006
- Katy, Texas
- 10 de juny de 2007
iSee va dir: Si no voleu o necessiteu preocupar-vos per les localitzacions, aleshores:
_stricmp( str1.c_str(), str2.c_str() )
És la solució més senzilla (també força eficient).
D'acord, em rendeixo. On vas venir _stricmp ?
Todd EN
wittegijt
- Feb 18, 2007
- Eindhoven
- 11 de juny de 2007
toddburch va dir: D'acord, em rendeixo. On vas venir _stricmp ?
Todd
És una cosa de Windows. Les biblioteques Unix utilitzen strcasecmp, està en .
Wittegijt.
veig
- Oct 25, 2004
- 11 de juny de 2007
toddburch va dir: D'acord, em rendeixo. On vas venir _stricmp ?
Todd
D'acord, perdó per haver-ho llençat.
Vaig pensar que formava part de la biblioteca C estàndard, però no ho és. Només apareix, extraoficialment, amb diferents noms, en diverses implementacions de la biblioteca C. Per tant, una comparació que no distingeix entre majúscules i minúscules tampoc és una part oficial de la biblioteca C oficial. Vaja. Sembla una omissió tan gran. Sota VS, és _stricmp() o stricmp(), a CodeWarrior per a Mac és stricmp() o strcasecmp(), i sota OS X 10.4/Xcode és strcasecmp().
Penso-ho bé, el guió baix principal m'hauria d'haver donat la pista.
Suposo que si voleu ajustar-vos a l'estàndard C, heu d'implementar el vostre amb tolower() (o toupper()) en un bucle.
Vegem que una primera passada podria ser (això està fora del meu cap, codi NO provat):
Codi: |_+_|
De totes maneres, de nou, disculpeu els mals consells. Suposo que no he fet gaire codificació C/C++ a Mac OS X on volia evitar l'API del sistema operatiu (CFString, etc.) des dels dies de CodeWarrior... T
fondre
Cartell original- 4 de desembre de 2006
- Katy, Texas
- 11 de juny de 2007
D'acord, ara a strcasecmp() . El lloc web cppreference.com que he estat utilitzant sembla que només és C/C++ estàndard. He buscat a Google un lloc de referència específic de Mac OS X XCode i no n'he trobat cap. Quin és un bon lloc web de referència de Mac OS X C++? O, hi ha una referència de C++ integrada a l'ajuda de XCode en algun lloc i simplement no l'he trobat? O, a falta de tot això, n'hi ha algun a l'Apple Development Center que també m'he perdut?
Per molt grans que siguin les imatges de disc XCode que descarrego i instal·lo quan se'm demana, segurament hi ha una referència d'idioma a algú; vull dir, les coses de Java que vaig baixar inicialment eren ENORMES.
Todd
Krevnik
- Set 8, 2003
- 11 de juny de 2007
toddburch va dir: D'acord, ara strcasecmp() . El lloc web cppreference.com que he estat utilitzant sembla que només és C/C++ estàndard. He buscat a Google un lloc de referència específic de Mac OS X XCode i no n'he trobat cap. Quin és un bon lloc web de referència de Mac OS X C++? O, hi ha una referència de C++ integrada a l'ajuda de XCode en algun lloc i simplement no l'he trobat? O, a falta de tot això, n'hi ha algun a l'Apple Development Center que també m'he perdut?
Hi és, però no crec que repassi les funcions C que es troben a la capa POSIX, només totes les addicions d'Apple a POSIX. Podeu utilitzar el terminal per accedir a les pàgines de manual d'algunes d'aquestes funcions. 'man strcasecmp' us portarà directament a la pàgina que parla d'aquesta funció i descriu com utilitzar-la.
veig
- Oct 25, 2004
- 11 de juny de 2007
http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html
que és una taula de continguts per a tot a les pàgines man d'OS X, incloses les funcions de la biblioteca C.
La biblioteca de referència Xcode accedeix a pàgines man a més d'altres recursos, de manera que tots estan disponibles a través de Xcode (utilitzo 'Trobar el text seleccionat a la referència de l'API' tot el temps).
Sembla que les funcions C es troben a la secció 3. Sembla que la documentació de cada funció conté una secció 'estàndard' o 'historial' que dóna informació sobre quin estàndard compleix la funció. Aparentment, strcasecmp() es va moure de 'string.h' a 'strings.h' per motius de compliment. No estic segur de quina manera exactament fa que sigui compatible. Suposo que significa que les funcions no estàndard no haurien d'aparèixer a string.h, de manera que el van moure a un fitxer de capçalera diferent. T
fondre
Cartell original- 4 de desembre de 2006
- Katy, Texas
- 11 de juny de 2007
Entrades Populars