roztavit
Původní plakát- 4. prosince 2006
- Katy, Texas
- 8. června 2007
(Navíc, teď jsem na misi, abych to našel...)
Díky, Todde T
roztavit
Původní plakát- 4. prosince 2006
- Katy, Texas
- 8. června 2007
Chápu
- 25. října 2004
- 8. června 2007
Pokud se nechcete nebo nepotřebujete starat o národní prostředí, pak:
_stricmp( str1.c_str(), str2.c_str() )
Je to nejjednodušší řešení (také docela efektivní).
Locales věci dost komplikují (no, jsou to opravdu nedostatky standardní knihovny, co to dělá tak komplikovaným).
Uvidíme, jestli najdu odkaz na něco, co se zabývá místními prostředími...
tady je jeden: http://lafstern.org/matt/col2_new.pdf
Nevím, jestli opravdu ví, o čem mluví, ale zní to tak, že ví. Chvíli o tom pokračuje, takže problém pochopíte, ale můžete přeskočit až na konec a podívat se na poslední blok kódu, kde najdete jeho nejlepší řešení. T
roztavit
Původní plakát- 4. prosince 2006
- Katy, Texas
- 9. června 2007
Děkuji za potvrzení - jsem rád, že jsem to nepřehlédl.
Todd
Kód: |_+_| T
roztavit
Původní plakát- 4. prosince 2006
- Katy, Texas
- 10. června 2007
iSee řekl: Pokud se nechcete nebo nepotřebujete starat o místní nastavení, pak:
_stricmp( str1.c_str(), str2.c_str() )
Je to nejjednodušší řešení (také docela efektivní).
Dobře, vzdávám se. Na co jsi přišel _strimp ?
Todd V
wittegijt
- 18. února 2007
- Eindhoven
- 11. června 2007
toddburch řekl: Dobře, vzdávám se. Na co jsi přišel _strimp ?
Todd
Je to věc Windows. Unixové knihovny používají strcasecmp, je v .
Wittegijt.
Chápu
- 25. října 2004
- 11. června 2007
toddburch řekl: Dobře, vzdávám se. Na co jsi přišel _strimp ?
Todd
Dobře, omlouvám se, že jsem to tam vyhodil.
Myslel jsem, že je součástí standardní knihovny C, ale není. Jen se neoficiálně objevuje pod různými jmény v různých implementacích knihovny C. Porovnání bez rozlišení velkých a malých písmen tedy není oficiální součástí oficiální knihovny C. Bože. Vypadá to jako velké opomenutí. Pod VS je to _stricmp() nebo stricmp(), pod CodeWarrior pro Mac je to stricmp() nebo strcasecmp() a pod OS X 10.4/Xcode je to strcasecmp().
Když se nad tím zamyslím, mělo mi to napovědět hlavní podtržítko.
Myslím, že pokud chcete vyhovět standardu C, musíte implementovat svůj vlastní pomocí tolower() (nebo toupper()) ve smyčce.
Podívejme se, že první průchod může být (toto je z hlavy, NEtestovaný kód):
Kód: |_+_|
Každopádně se ještě jednou omlouvám za špatnou radu. Myslím, že jsem od dob CodeWarrior opravdu neudělal mnoho kódování C/C++ na Mac OS X, kde jsem se chtěl vyhnout OS API (CFString atd.) T
roztavit
Původní plakát- 4. prosince 2006
- Katy, Texas
- 11. června 2007
Dobře, teď k strcasecmp() . Webová stránka cppreference.com, kterou používám, vypadá pouze jako standardní C/C++. Hledal jsem konkrétní referenční stránku Mac OS X XCode a nenašel jsem ji. Jaký je dobrý referenční web Mac OS X C++? Nebo je někde v nápovědě XCode zabudovaná reference C++ a já ji prostě nenašel? Nebo, když to všechno selže, existuje ve vývojovém centru Apple jeden, který jsem také přehlédl?
Jak velké jsou obrazy XCode disků, které si stahuji a instaluji, když jsem vyzváni, určitě tam někdo je odkaz na jazyk - chci říct, že Java věci, které jsem si původně stáhl, byly OBROVSKÉ.
Todd
Krevnik
- 8. září 2003
- 11. června 2007
toddburch řekl: Dobře, teď strcasecmp() . Webová stránka cppreference.com, kterou používám, vypadá pouze jako standardní C/C++. Hledal jsem konkrétní referenční stránku Mac OS X XCode a nenašel jsem ji. Jaký je dobrý referenční web Mac OS X C++? Nebo je někde v nápovědě XCode zabudovaná reference C++ a já ji prostě nenašel? Nebo, když to všechno selže, existuje ve vývojovém centru Apple jeden, který jsem také přehlédl?
Je to tam, ale nemyslím si, že to jde přes funkce C, které jsou ve vrstvě POSIX, jen všechny doplňky Apple k POSIX. Terminál můžete použít pro přístup k manuálovým stránkám některých z těchto funkcí. 'man strcasecmp' vás zavede přímo na stránku o této funkci a popíše, jak ji používat.
Chápu
- 25. října 2004
- 11. června 2007
http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html
což je obsah všeho v manuálových stránkách OS X, včetně funkcí knihovny C.
Referenční knihovna Xcode přistupuje kromě jiných zdrojů k manuálovým stránkám, takže jsou všechny dostupné prostřednictvím Xcode (používám 'Find Selected Text in API Reference' neustále).
Vypadá to, že funkce C jsou v sekci 3. Zdá se, že dokumentace pro každou funkci obsahuje sekci „standard“ nebo „historie“, která poskytuje nějaké informace o tom, jakému standardu funkce vyhovuje. Zřejmě bylo strcasecmp() přesunuto z 'string.h' do 'strings.h' z důvodu souladu. Nejsem si jistý, jakým způsobem to přesně vyhovuje. Myslím, že to znamená, že nestandardní funkce by se v string.h neměly objevit, takže to přesunuli do jiného hlavičkového souboru. T
roztavit
Původní plakát- 4. prosince 2006
- Katy, Texas
- 11. června 2007
Populární Příspěvky