Форуми

Мац Ц++ стринг класа - упоређивање без обзира на велика и мала слова?

Т

растопити се

Оригинални постер
4. децембра 2006
Кејти, Тексас
  • 8. јуна 2007
Погледао сам референцу на мрежи (цппреференце.цом) и моју Ц++ књигу, али не могу да нађем цомпаре( без осетљивости на стрингове). Свакако постоје поређења која не разликују велика и мала слова у Ц-Стринг-у, али ја бих радије користио Ц++ поређење ако постоји.

(Плус, сада сам на мисији да га пронађем...)

Хвала, Тодд Т

растопити се

Оригинални постер
4. децембра 2006


Кејти, Тексас
  • 8. јуна 2007
Претпостављам да бих могао да користим битсет ОР са познатим низом свих празних места дужим него што ми је потребан (Кс'20'), а затим тестирам за поређење малим словима...

Видим

25. октобар 2004
  • 8. јуна 2007
Готово је невероватно, али не верујем да стандардна библиотека Ц++ не разликује велика и мала слова.

Ако не желите или не морате да бринете о локацијама, онда:
_стрицмп( стр1.ц_стр(), стр2.ц_стр() )
То је најједноставније решење (такође прилично ефикасно).

Локални услови прилично компликују ствари (па, недостаци стандардне библиотеке су оно што ово чини тако компликованим).
Хајде да видим да ли могу да пронађем везу за нешто што се бави локацијама...
ево једног: хттп://лафстерн.орг/матт/цол2_нев.пдф
Не знам да ли он заиста зна о чему говори, али звучи као да зна. Он говори неко време о томе да бисте разумели проблем, али можете прескочити на дно и погледати последњи блок кода за његово најбоље решење. Т

растопити се

Оригинални постер
4. децембра 2006
Кејти, Тексас
  • 9. јуна 2007
Хвала иСее. Да, вероватно је у праву. Међутим, за моје потребе, радићу са 7-битним АСЦИИ кодовима знакова и мислим да ће овај део кода бити довољно добар.

Хвала на потврди - драго ми је што видим да нисам само пропустио.

Тодд

Шифра: |_+_| Т

растопити се

Оригинални постер
4. децембра 2006
Кејти, Тексас
  • 10. јуна 2007
иСее је рекао: Ако не желите или не морате да бринете о локацијама, онда:
_стрицмп( стр1.ц_стр(), стр2.ц_стр() )
То је најједноставније решење (такође прилично ефикасно).

ОК, одустајем. Где си смислио _стрицмп ?

Тодд ИН

виттегијт

18. фебруар 2007
Еиндховен
  • 11. јуна 2007
тоддбурцх је рекао: ОК, одустајем. Где си смислио _стрицмп ?

Тодд

То је Виндовс ствар. Уник библиотеке користе стрцасецмп, он је у .

Виттегијт.

Видим

25. октобар 2004
  • 11. јуна 2007
тоддбурцх је рекао: ОК, одустајем. Где си смислио _стрицмп ?

Тодд

ОК, извини што сам то избацио.

Мислио сам да је то део стандардне Ц библиотеке, али није. Само се појављује, незванично, под различитим именима, у разним имплементацијама Ц библиотеке. Дакле, поређење без обзира на велика и мала слова такође није званични део званичне Ц библиотеке. Боже. Чини се као велики пропуст. Под ВС, то је _стрицмп() или стрицмп(), под ЦодеВарриор за Мац то је стрицмп() или стрцасецмп(), а под ОС Кс 10.4/Ксцоде то је стрцасецмп().

Кад боље размислим, главна доња црта ми је требала дати наговештај.

Претпостављам да ако желите да се ускладите са Ц стандардом, морате да имплементирате сопствени користећи толовер() (или тоуппер()) у петљи.

Да видимо да би први пролаз могао бити (ово ми није пало на памет, НИЈЕ тестиран код):
Шифра: |_+_|
У сваком случају, још једном, извините на лошем савету. Претпостављам да нисам урадио много Ц/Ц++ кодирања на Мац ОС Кс где сам желео да избегнем ОС АПИ (ЦФСтринг, итд.) још од ЦодеВарриор дана... Т

растопити се

Оригинални постер
4. децембра 2006
Кејти, Тексас
  • 11. јуна 2007
Ахххха. Има смисла. Хвала Виттегијт & иСее. Читао сам своју „Енциклопедију Ц“ (Сибек, 1991) и све (или бар многе) нестандардне кључне речи од стране Мицрософта такође имају доњу црту за први знак. Требало је да ме обавести.

ОК, сада да стрцасецмп() . Веб локација цппреференце.цом коју сам користио изгледа само као стандардни Ц/Ц++. Тражио сам на Гуглу референтни сајт за Мац ОС Кс КСЦоде и нисам га нашао. Шта је добра референтна веб локација за Мац ОС Кс Ц++? Или, постоји ли негде Ц++ референца уграђена у помоћ за КСЦоде, а ја је једноставно нисам нашао? Или, ако све то не успе, постоји ли један у Аппле Девелопмент Центер-у који сам и ја пропустио?

Колико год да су слике диска КСЦоде које преузимам и инсталирам када се то од мене затражи, сигурно постоји нека језичка референца - мислим, Јава ствари које сам преузео у почетку су биле ОГРОМНЕ.

Тодд

Кревник

8. септембар 2003
  • 11. јуна 2007
тоддбурцх је рекао: У реду, сада да стрцасецмп() . Веб локација цппреференце.цом коју сам користио изгледа само као стандардни Ц/Ц++. Тражио сам на Гуглу референтни сајт за Мац ОС Кс КСЦоде и нисам га нашао. Шта је добра референтна веб локација за Мац ОС Кс Ц++? Или, постоји ли негде Ц++ референца уграђена у помоћ за КСЦоде, а ја је једноставно нисам нашао? Или, ако све то не успе, постоји ли један у Аппле Девелопмент Центер-у који сам и ја пропустио?

Постоји, али мислим да не прелази преко Ц функција које су у ПОСИКС слоју, већ само на све Апплеове додатке ПОСИКС-у. Можете користити терминал за приступ страницама упутства на неким од ових функција. 'ман стрцасецмп' ће вас одвести право на страницу која говори о тој функцији и описати како да је користите.

Видим

25. октобар 2004
  • 11. јуна 2007
Чепркајући по Ксцоде-у, нашао сам везу до ове странице:

хттп://девелопер.аппле.цом/доцументатион/Дарвин/Референце/МанПагес/индек.хтмл

што је табела садржаја за све на ОС Кс ман страницама, укључујући функције Ц библиотеке.

Референтна библиотека Ксцоде приступа страницама упутства поред других ресурса, тако да су сви они доступни преко Ксцоде-а (све време користим „Пронађи изабрани текст у АПИ референци“).

Изгледа да су Ц функције у одељку 3. Изгледа да документација за сваку функцију садржи одељак 'стандард' или 'историја' који даје неке информације о томе са којим стандардом је функција усклађена. Очигледно је стрцасецмп() премештена из 'стринг.х' у 'стрингс.х' из разлога усклађености. Нисам сигуран на који тачно начин то чини усклађеним. Претпостављам да то значи да нестандардне функције не би требало да се појављују у стринг.х, па су га преместили у други фајл заглавља. Т

растопити се

Оригинални постер
4. децембра 2006
Кејти, Тексас
  • 11. јуна 2007
То је одлична референтна страница! Мислио сам да је таква информација негде унутра!