====== strcmp ====== strcmp ist definiert in der ''[[start|string]]'', die in C über ''string.h'', bzw. in C++ über ''cstring'' eingebunden wird. ===== Funktion ===== Die Funktion wird verwendet um zu prüfen, ob zwei Strings die gleichen Zeichen enthalten. ===== Signatur ===== #include int strcmp (const char * str1, const char * str2); **str1**: string, wird mit str2 verglichen \\ **str**: string, wird mit str1 verglichen \\ **Return value**: 0, wenn die Strings gleich sind, andernfalls ein anderer Wert Wird 0 zurückgegeben enthalten die beiden Strings die gleichen Zeichen. \\ Wenn der return-Wert größer als 0 ist, dann ist der 1. String größer (der 1. ungleiche Buchstabe des 1. Strings ist im Alphabet hinter dem anderen). \\ Ist der Wert kleiner als 0, dann ist der 2. String größer (der 1. ungleiche Buchstabe des 1. Strings ist im Alphabet vor dem anderen) \\ ===== Fehlerquellen ===== Beide Strings müssen mit einem Nullbyte enden, da es sonst zu falschen Ergebnissen kommt. ===== Beispiel ===== #include #include void result (int diff); int main () { char str[] = "proggen.org"; char same_as_str[] = "proggen.org"; char smaller_than_str[] = "a_proggen.org"; char bigger_than_str[] = "z_proggen.org"; int diff; diff = strcmp (str, same_as_str); result (diff); diff = strcmp (str, smaller_than_str); result (diff); diff = strcmp (str, bigger_than_str); result (diff); return 0; } void result (int diff) { if (diff == 0) printf ("Strings sind gleich.\n"); else if (diff > 0) printf ("Der erste String ist groeßer.\n"); else printf ("Der zweite String ist groeßer.\n"); } Ausgabe: Strings sind gleich. Der erste String ist groeßer. Der zweite String ist groeßer. ===== Siehe auch ===== [[c:lib:string:start|string]]: [[c:lib:string:strcoll|strcoll()]], [[c:lib:string:memcmp|memcmp()]]