C ++ strncmp () - C ++ Standardbibliothek

Die Funktion strncmp () in C ++ vergleicht eine bestimmte Anzahl von Zeichen zweier nullterminierender Zeichenfolgen. Der Vergleich erfolgt lexikographisch.

strncmp () Prototyp

 int strncmp (const char * lhs, const char * rhs, size_t count);

Die strncmp()Funktion akzeptiert zwei Argumente: lhs, rhs und count. Es vergleicht den Inhalt von lhs und rhs lexikographisch bis zu einem Maximum von Zählzeichen. Das Vorzeichen des Ergebnisses ist das Vorzeichen der Differenz zwischen den ersten Zeichenpaaren, die sich in lhs und rhs unterscheiden.

Das Verhalten von strncmp()ist undefiniert, wenn entweder lhs oder rhs nicht auf nullterminierte Zeichenfolgen zeigen.

Es ist in der Header-Datei "> Header-Datei definiert.

strncmp () Parameter

  • lhs and rhs: Zeiger auf die nullterminierten Zeichenfolgen zum Vergleichen.
  • count: Maximale Anzahl zu vergleichender Zeichen.

strncmp () Rückgabewert

Die strncmp()Funktion gibt Folgendes zurück:

  • positiver Wert, wenn das erste abweichende Zeichen in lhs größer ist als das entsprechende Zeichen in rhs.
  • negativer Wert, wenn das erste abweichende Zeichen in lhs kleiner ist als das entsprechende Zeichen in rhs.
  • 0, wenn die ersten Zählzeichen von lhs und rhs gleich sind.

Beispiel: Funktionsweise der Funktion strncmp ()

 #include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strncmp(lhs,rhs,3); display(lhs,rhs,result,3); result = strncmp(lhs,rhs,4); display(lhs,rhs,result,4); return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Die ersten 3 Charaktere von Armstrong und Army sind die gleichen, die Armstrong der Army vorausgeht

Interessante Beiträge...