przetapiać
Oryginalny plakat- 4 grudnia 2006 r.
- Katy, Teksas
- 8 czerwca 2007
(Dodatkowo, teraz mam misję, aby to znaleźć...)
Dzięki Todd T
przetapiać
Oryginalny plakat- 4 grudnia 2006 r.
- Katy, Teksas
- 8 czerwca 2007
Widzę
- 25 paź 2004
- 8 czerwca 2007
Jeśli nie chcesz lub nie musisz się martwić o lokalizacje, to:
_stricmp( str1.c_str(), str2.c_str() )
To najprostsze rozwiązanie (również dość wydajne).
Lokalizacje trochę komplikują sprawę (cóż, tak naprawdę to wady standardowej biblioteki sprawiają, że jest to tak skomplikowane).
Pozwól, że zobaczę, czy znajdę link do czegoś, co dotyczy lokalizacji...
Tutaj jest jeden: http://lafstern.org/matt/col2_new.pdf
Nie wiem, czy naprawdę wie, o czym mówi, ale wygląda na to, że wie. Mówi o tym przez chwilę, abyś mógł zrozumieć problem, ale możesz przejść do dołu i sprawdzić ostatni blok kodu, aby znaleźć najlepsze rozwiązanie. T
przetapiać
Oryginalny plakat- 4 grudnia 2006 r.
- Katy, Teksas
- 9 czerwca 2007 r.
Dzięki za potwierdzenie - cieszę się, że nie tylko tego przegapiłem.
Todd
Kod: |__+_| T
przetapiać
Oryginalny plakat- 4 grudnia 2006 r.
- Katy, Teksas
- 10 czerwca 2007 r.
iSee powiedział: Jeśli nie chcesz lub nie musisz się martwić o ustawienia regionalne, to:
_stricmp( str1.c_str(), str2.c_str() )
To najprostsze rozwiązanie (również dość wydajne).
Ok, poddaję się. Skąd wymyśliłeś _stricmp ?
Todd W
wittegijt
- 18 lutego 2007 r.
- Eindhoven
- 11 czerwca 2007 r.
Toddburch powiedział: OK, poddaję się. Skąd wymyśliłeś _stricmp ?
Todd
To kwestia Windowsa. Biblioteki Unix używają strcasecmp, jest w .
Wittegijta.
Widzę
- 25 paź 2004
- 11 czerwca 2007 r.
Toddburch powiedział: OK, poddaję się. Skąd wymyśliłeś _stricmp ?
Todd
OK, przepraszam, że to wyrzuciłem.
Myślałem, że to część standardowej biblioteki C, ale tak nie jest. Po prostu pojawia się, nieoficjalnie, pod różnymi nazwami, w różnych implementacjach biblioteki C. Zatem porównanie bez rozróżniania wielkości liter nie jest również oficjalną częścią oficjalnej biblioteki C. Jezu. Wydaje się, że to takie ogromne zaniedbanie. W VS jest to _stricmp() lub stricmp(), w CodeWarrior dla komputerów Mac jest to stricmp() lub strcasecmp(), a pod OS X 10.4/Xcode jest to strcasecmp().
Pomyśl o tym, wiodący znak podkreślenia powinien dać mi wskazówkę.
Myślę, że jeśli chcesz dostosować się do standardu C, musisz zaimplementować własne, używając tolower() (lub toupper()) w pętli.
Zobaczmy, że pierwsze przejście może być (to jest poza czubkiem mojej głowy, NIE testowany kod):
Kod: |__+_|
W każdym razie znowu przepraszam za złą radę. Wydaje mi się, że od czasów CodeWarrior nie robiłem zbyt wiele kodowania w C/C++ na Mac OS X, gdzie chciałem uniknąć OS API (CFString, itp.)… T
przetapiać
Oryginalny plakat- 4 grudnia 2006 r.
- Katy, Teksas
- 11 czerwca 2007 r.
OK, teraz do strcasecmp() . Strona internetowa cppreference.com, z której korzystałem, wygląda na standardowy C/C++. Szukałem strony referencyjnej Mac OS X XCode i nie znalazłem żadnej. Co to jest dobra strona internetowa Mac OS X C++? A może jest gdzieś odwołanie do C++ wbudowane w pomoc XCode, a ja go po prostu nie znalazłem? A może, jeśli to wszystko się nie powiedzie, jest jeden w Apple Development Center, którego też przegapiłem?
Tak duże, jak obrazy dysków XCode, które pobieram i instaluję po wyświetleniu monitu, z pewnością jest tam odniesienie do języka - mam na myśli to, że początkowo pobrałem Javę był OGROMNY.
Todd
Krevnik
- 8 września 2003 r.
- 11 czerwca 2007 r.
Toddburch powiedział: OK, teraz do strcasecmp() . Strona internetowa cppreference.com, z której korzystałem, wygląda na standardowy C/C++. Szukałem strony referencyjnej Mac OS X XCode i nie znalazłem żadnej. Co to jest dobra strona internetowa Mac OS X C++? A może jest gdzieś odwołanie do C++ wbudowane w pomoc XCode, a ja go po prostu nie znalazłem? A może, jeśli to wszystko się nie powiedzie, jest jeden w Apple Development Center, którego też przegapiłem?
Jest tam, ale nie wydaje mi się, żeby obejmowała funkcje C, które są w warstwie POSIX, tylko wszystkie dodatki Apple do POSIX. Możesz użyć terminala, aby uzyskać dostęp do stron podręcznika dotyczących niektórych z tych funkcji. 'man strcasecmp' przeniesie Cię bezpośrednio do strony mówiącej o tej funkcji i opisze, jak jej używać.
Widzę
- 25 paź 2004
- 11 czerwca 2007 r.
http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html
który jest spisem treści wszystkich stron podręcznika OS X, w tym funkcji biblioteki C.
Biblioteka referencyjna Xcode umożliwia dostęp do stron man oprócz innych zasobów, więc wszystkie są dostępne za pośrednictwem Xcode (cały czas używam funkcji „Znajdź wybrany tekst w referencji API”).
Wygląda na to, że funkcje C znajdują się w sekcji 3. Wygląda na to, że dokumentacja każdej funkcji zawiera sekcję „standard” lub „historia”, która zawiera informacje o tym, z jakim standardem jest zgodna funkcja. Najwyraźniej strcasecmp() została przeniesiona z „string.h” do „strings.h” ze względu na zgodność. Nie jestem pewien, w jaki sposób jest to zgodne. Myślę, że oznacza to, że niestandardowe funkcje nie powinny pojawiać się w string.h, więc przenieśli je do innego pliku nagłówkowego. T
przetapiać
Oryginalny plakat- 4 grudnia 2006 r.
- Katy, Teksas
- 11 czerwca 2007 r.
Popularne Wiadomości