C ++ strcoll () - C ++ szabványos könyvtár

A strcoll () függvény a C ++ - ban két null végződő karakterláncot hasonlít össze. Az összehasonlítás az LC_COLLATE kategória által meghatározott aktuális területi beállításon alapul.

Az strcmp () elegendő a legtöbb karakterlánc-összehasonlításhoz, de az unicode karakterek kezelésekor néha vannak bizonyos árnyalatok, amelyek helytelenné teszik a byte-byte karakterlánc-összehasonlítást.

Például, ha két karakterláncot hasonlít össze spanyol nyelven, ezek kiemelt karaktereket tartalmazhatnak, például á, é, í, ó, ú, ü, ñ, ¿, ¡stb.

Alapértelmezés szerint az ilyen hangsúlyos karakterek az a, b, c… z teljes ábécé után következnek. Az ilyen összehasonlítás hibás lenne, mert az a különböző akcentusainak valójában b elé kell kerülniük.

Az strcoll () az aktuális területi beállítást használja az összehasonlítás elvégzéséhez, amely pontosabb eredményt ad ilyen esetekben.

A fejlécfájlban van meghatározva.

strcoll () prototípus

 int strcoll (const char * lhs, const char * rhs);

Az strcoll () függvénynek két argumentuma van: lhs és rhs. Összehasonlítja az lhs és rhs tartalmát az LC_COLLATE kategória aktuális területi beállításai alapján.

strcoll () Paraméterek

  • lhs és rhs: A null végződött karakterláncok összehasonlítója.

strcoll () Visszatérési érték

Az strcoll () függvény a:

  • pozitív érték, ha az első eltérő karakter lh-ban nagyobb, mint a megfelelő karakter rh-ban.
  • negatív érték, ha az első eltérő karakter lh-ben kisebb, mint az rhs-ben szereplő megfelelő karakter.
  • 0, ha az lhs és az rhs egyenlő.

Példa: Hogyan működik az strcoll () függvény?

 #include #include using namespace std; int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strcoll(lhs,rhs); cout < 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << lhs << " and " << rhs << " are same" << endl; return 0; )

A program futtatásakor a kimenet a következő lesz:

 A jelenlegi terepen Armstrong megelőzi a hadsereget

érdekes cikkek...