ఫోరమ్‌లు

Mac C++ స్ట్రింగ్ క్లాస్ - కేస్ ఇన్‌సెన్సిటివ్ పోల్చాలా?

టి

కరిగిపోతాయి

ఒరిజినల్ పోస్టర్
డిసెంబర్ 4, 2006
కాటి, టెక్సాస్
  • జూన్ 8, 2007
నేను ఆన్‌లైన్ రిఫరెన్స్ (cppreference.com) మరియు నా C++ పుస్తకంలో చూశాను, కానీ నేను స్ట్రింగ్ ఇన్‌సెన్సిటివ్ కంపేర్()ని కనుగొనలేకపోయాను. సి-స్ట్రింగ్ కేస్ ఇన్‌సెన్సిటివ్ పోలికలు ఖచ్చితంగా ఉన్నాయి, అయితే నేను C++ కంపేర్‌ని ఉపయోగిస్తాను.

(అదనంగా, ఇప్పుడు నేను దానిని కనుగొనే పనిలో ఉన్నాను...)

ధన్యవాదాలు, టాడ్ టి

కరిగిపోతాయి

ఒరిజినల్ పోస్టర్
డిసెంబర్ 4, 2006


కాటి, టెక్సాస్
  • జూన్ 8, 2007
నేను బిట్‌సెట్ లేదా అన్ని ఖాళీల (X'20') కంటే ఎక్కువ పొడవుగా ఉన్న స్ట్రింగ్‌తో ఉపయోగించవచ్చని అంచనా వేస్తున్నాను, ఆపై లోయర్ కేస్ సరిపోల్చడానికి పరీక్షించవచ్చు...

అలాగా

అక్టోబర్ 25, 2004
  • జూన్ 8, 2007
ఇది దాదాపు నమ్మకానికి మించినది, కానీ ప్రామాణిక C++ లైబ్రరీలో కేస్-ఇన్సెన్సిటివ్ ఉందని నేను నమ్మను.

మీరు లొకేల్‌ల గురించి చింతించకూడదనుకుంటే లేదా ఆందోళన చెందాల్సిన అవసరం లేకపోతే, అప్పుడు:
_stricmp(str1.c_str(), str2.c_str() )
సరళమైన పరిష్కారం (చాలా సమర్థవంతమైనది).

లొకేల్‌లు విషయాలను కొంచెం క్లిష్టతరం చేస్తాయి (అలాగే, ఇది నిజంగా ప్రామాణిక లైబ్రరీ యొక్క లోపాల వల్ల చాలా క్లిష్టంగా ఉంటుంది).
లొకేల్‌లతో వ్యవహరించే ఏదైనా లింక్‌ని నేను కనుగొనగలనా లేమ్మే చూడండి...
ఇక్కడ ఒకటి: http://lafstern.org/matt/col2_new.pdf
అతను నిజంగా ఏమి మాట్లాడుతున్నాడో నాకు తెలియదు, కానీ అతను అలా మాట్లాడుతున్నాడు. అతను దీని గురించి కొంతకాలం కొనసాగిస్తాడు, కాబట్టి మీరు సమస్యను అర్థం చేసుకోవచ్చు, కానీ మీరు దిగువకు దాటవేయవచ్చు మరియు అతని ఉత్తమ పరిష్కారం కోసం చివరి కోడ్ బ్లాక్‌ని తనిఖీ చేయవచ్చు. టి

కరిగిపోతాయి

ఒరిజినల్ పోస్టర్
డిసెంబర్ 4, 2006
కాటి, టెక్సాస్
  • జూన్ 9, 2007
ధన్యవాదాలు iSee. అవును, అతను బహుశా సరైనవాడు. అయితే, నా ప్రయోజనాల కోసం, నేను 7-బిట్ ASCII క్యారెక్టర్ కోడ్‌లతో పని చేస్తాను మరియు ఈ కోడ్ భాగం సరిపోతుందని నేను భావిస్తున్నాను.

ధృవీకరణకు ధన్యవాదాలు - నేను దానిని మిస్ చేయనందుకు సంతోషిస్తున్నాను.

టాడ్

కోడ్: |_+_| టి

కరిగిపోతాయి

ఒరిజినల్ పోస్టర్
డిసెంబర్ 4, 2006
కాటి, టెక్సాస్
  • జూన్ 10, 2007
iSee చెప్పారు: మీరు లొకేల్‌ల గురించి చింతించకూడదనుకుంటే లేదా ఆందోళన చెందాల్సిన అవసరం లేకపోతే, అప్పుడు:
_stricmp(str1.c_str(), str2.c_str() )
సరళమైన పరిష్కారం (చాలా సమర్థవంతమైనది).

సరే, నేను వదులుకుంటున్నాను. ఎక్కడికి వచ్చావు _స్ట్రిక్మ్ప్ ?

టాడ్ IN

wittegijt

ఫిబ్రవరి 18, 2007
ఐండ్‌హోవెన్
  • జూన్ 11, 2007
toddburch చెప్పారు: సరే, నేను వదులుకుంటాను. ఎక్కడికి వచ్చావు _స్ట్రిక్మ్ప్ ?

టాడ్

ఇది విండోస్ విషయం. Unix లైబ్రరీలు strcasecmpని ఉపయోగిస్తాయి, ఇది లో ఉంది.

Wittegijt.

అలాగా

అక్టోబర్ 25, 2004
  • జూన్ 11, 2007
toddburch చెప్పారు: సరే, నేను వదులుకుంటాను. ఎక్కడికి వచ్చావు _స్ట్రిక్మ్ప్ ?

టాడ్

సరే, దాన్ని బయటకు విసిరినందుకు క్షమించండి.

ఇది ప్రామాణిక C లైబ్రరీలో భాగమని నేను అనుకున్నాను, కానీ అది కాదు. ఇది కేవలం అనధికారికంగా, వివిధ పేర్లతో, C లైబ్రరీ యొక్క వివిధ అమలులలో కనిపిస్తుంది. కాబట్టి కేస్-సెన్సిటివ్ పోలిక అనేది అధికారిక C లైబ్రరీలో అధికారిక భాగం కాదు. గీజ్. ఇది చాలా పెద్ద మినహాయింపుగా కనిపిస్తోంది. VS కింద, ఇది _stricmp() లేదా stricmp(), Mac కోసం CodeWarrior కింద ఇది stricmp() లేదా strcasecmp(), మరియు OS X 10.4/Xcode కింద ఇది strcasecmp().

దాని గురించి ఆలోచించండి, ప్రముఖ అండర్‌స్కోర్ నాకు సూచనను అందించి ఉండాలి.

మీరు C ప్రమాణానికి అనుగుణంగా ఉండాలనుకుంటే, మీరు మీ స్వంతంగా tolower() (లేదా toupper())ని లూప్‌లో ఉపయోగించి అమలు చేయాలి.

మొదటి పాస్ ఎలా ఉంటుందో చూద్దాం (ఇది నా తల పైభాగంలో ఉంది, కోడ్ పరీక్షించబడలేదు):
కోడ్: |_+_|
ఏమైనా, మళ్ళీ, చెడు సలహా కోసం క్షమించండి. కోడ్‌వారియర్ రోజుల నుండి నేను OS API (CFString, మొదలైనవి)ని నివారించాలనుకున్న Mac OS Xలో నేను నిజంగా C/C++ కోడింగ్‌ను పూర్తి చేయలేదని అనుకుంటున్నాను... టి

కరిగిపోతాయి

ఒరిజినల్ పోస్టర్
డిసెంబర్ 4, 2006
కాటి, టెక్సాస్
  • జూన్ 11, 2007
ఆహ్హ్హా. అర్థం అవుతుంది. ధన్యవాదాలు Wittegijt & iSee. నేను నా 'ఎన్‌సైక్లోపీడియా సి' (సైబెక్స్, 1991) చదువుతున్నాను మరియు అన్ని (లేదా చాలా, కనీసం) మైక్రోసాఫ్ట్ నాన్-స్టాండర్డ్ కీవర్డ్‌లన్నింటికీ మొదటి అక్షరానికి అండర్ స్కోర్ ఉంటుంది. నాకు టిప్ చేసి ఉండాలి.

సరే, ఇప్పుడు strcasecmp() . నేను ఉపయోగిస్తున్న cppreference.com వెబ్‌సైట్ ప్రామాణికమైన C/C++ మాత్రమే కనిపిస్తోంది. నేను Mac OS X XCode నిర్దిష్ట రిఫరెన్స్ సైట్ కోసం గూగుల్ చేసాను మరియు అది కనుగొనబడలేదు. మంచి Mac OS X C++ రిఫరెన్స్ వెబ్‌సైట్ ఏది? లేదా, ఎక్కడైనా XCode సహాయంలో C++ రిఫరెన్స్ రూపొందించబడింది మరియు నేను దానిని కనుగొనలేకపోయానా? లేదా, అన్ని విఫలమైతే, నేను కూడా మిస్ అయిన Apple డెవలప్‌మెంట్ సెంటర్‌లో ఒకటి ఉందా?

XCode డిస్కిమేజ్‌లు ఎంత పెద్దవి అయితే, నేను ప్రాంప్ట్ చేసినప్పుడు డౌన్‌లోడ్ చేసి ఇన్‌స్టాల్ చేస్తాను, ఖచ్చితంగా అక్కడ ఎవరైనా భాష సూచన ఉంటుంది - అంటే, నేను మొదట్లో డౌన్‌లోడ్ చేసిన జావా అంశాలు చాలా పెద్దవి.

టాడ్

క్రెవ్నిక్

సెప్టెంబర్ 8, 2003
  • జూన్ 11, 2007
toddburch చెప్పారు: సరే, ఇప్పుడు strcasecmp() . నేను ఉపయోగిస్తున్న cppreference.com వెబ్‌సైట్ ప్రామాణికమైన C/C++ మాత్రమే కనిపిస్తోంది. నేను Mac OS X XCode నిర్దిష్ట రిఫరెన్స్ సైట్ కోసం గూగుల్ చేసాను మరియు అది కనుగొనబడలేదు. మంచి Mac OS X C++ రిఫరెన్స్ వెబ్‌సైట్ ఏది? లేదా, ఎక్కడైనా XCode సహాయంలో C++ రిఫరెన్స్ రూపొందించబడింది మరియు నేను దానిని కనుగొనలేకపోయానా? లేదా, అన్ని విఫలమైతే, నేను కూడా మిస్ అయిన Apple డెవలప్‌మెంట్ సెంటర్‌లో ఒకటి ఉందా?

ఇది అక్కడ ఉంది, కానీ ఇది POSIX లేయర్‌లో ఉన్న C ఫంక్షన్‌ల మీదుగా వెళ్తుందని నేను అనుకోను, POSIXకి Apple యొక్క అన్ని చేర్పులు. ఈ ఫంక్షన్లలో కొన్నింటిలో మ్యాన్ పేజీలను యాక్సెస్ చేయడానికి మీరు టెర్మినల్‌ను ఉపయోగించవచ్చు. 'man strcasecmp' ఆ ఫంక్షన్ గురించి మాట్లాడే పేజీకి మిమ్మల్ని తీసుకెళ్తుంది మరియు దానిని ఎలా ఉపయోగించాలో వివరిస్తుంది.

అలాగా

అక్టోబర్ 25, 2004
  • జూన్ 11, 2007
Xcodeలో తిరుగుతూ, నేను ఈ పేజీకి లింక్‌ని కనుగొన్నాను:

http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html

ఇది C లైబ్రరీ ఫంక్షన్‌లతో సహా OS X మ్యాన్ పేజీలలోని ప్రతిదానికీ సంబంధించిన విషయాల పట్టిక.

Xcode రిఫరెన్స్ లైబ్రరీ ఇతర వనరులతో పాటు మ్యాన్ పేజీలను యాక్సెస్ చేస్తుంది, కాబట్టి ఇవన్నీ Xcode ద్వారా అందుబాటులో ఉంటాయి (నేను 'API రిఫరెన్స్‌లో ఎంచుకున్న వచనాన్ని కనుగొనండి'ని ఎల్లవేళలా ఉపయోగిస్తాను).

C ఫంక్షన్‌లు సెక్షన్ 3లో ఉన్నట్లుగా కనిపిస్తోంది. ప్రతి ఫంక్షన్‌కి సంబంధించిన డాక్యుమెంటేషన్‌లో ఫంక్షన్ ఏ ప్రమాణానికి అనుగుణంగా ఉంటుందనే దానిపై కొంత సమాచారాన్ని అందించే 'స్టాండర్డ్' లేదా 'హిస్టరీ' విభాగం ఉన్నట్లు కనిపిస్తోంది. సమ్మతి కారణాల కోసం స్పష్టంగా strcasecmp() 'string.h' నుండి 'strings.h'కి తరలించబడింది. ఇది ఏ విధంగా కంప్లైంట్ చేస్తుందో నాకు ఖచ్చితంగా తెలియదు. నాన్-స్టాండర్డ్ ఫంక్షన్‌లు string.hలో కనిపించకూడదని నేను ఊహిస్తున్నాను, కాబట్టి వారు దానిని వేరే హెడర్ ఫైల్‌కి తరలించారు. టి

కరిగిపోతాయి

ఒరిజినల్ పోస్టర్
డిసెంబర్ 4, 2006
కాటి, టెక్సాస్
  • జూన్ 11, 2007
అది గొప్ప సూచన పేజీ! అలాంటి సమాచారం ఎక్కడో ఉందని నేను గుర్తించాను!