russkij Geschrieben 29. August 2005 Geschrieben 29. August 2005 Hallo alle, bin fleißig am lernen, und bin im Buch auf eine Anweisung gestossen, die ich nicht ganz verstehe. #include <iostream> #include <string> void main() { char myText[]="Testtext"; int myValue=stricmp(myText,"testtext"); } "stricmp" wenn ich richtig verstehe, vergleicht 2 Zeichenketten, ohne auf Groß/Kleinschreibung zu achten. warum gibt dann die Funktion 1 aus, wenn die Zeichenketten unterschiedlich sind, und 0 wenn die gleich sind? Müsste es nicht umgekehrt sein? Also 1, wenn die Ketten gleich sind?
Bubble Geschrieben 29. August 2005 Geschrieben 29. August 2005 Die Funktion _stricmp() kann für unterschiedliche Zeichenketten auch -1 zurückgeben. Ob das Ergebnis positiv oder negativ ist, hängt von der lexographischen Anordnung der Strings zueinander ab. Ist diese gleich, sind die Strings gleich. Daher wird bei gleichen Strings eine 0 zurückgegeben.
russkij Geschrieben 29. August 2005 Autor Geschrieben 29. August 2005 danke, ich glaube ich verstehe es langsam. Ist es so in etwa?: "Text1"-(minus)"Text1"=0; oder? Danke noch mal
Manfred.Becker Geschrieben 30. August 2005 Geschrieben 30. August 2005 danke, ich glaube ich verstehe es langsam. Ist es so in etwa?: "Text1"-(minus)"Text1"=0; oder? Danke noch mal NEIN! So bitte nicht. Die Logik bei Stringvergleich (strcmp, stricmp, strncmp usw.) ist einfach folgende: < 0 string1 kleiner als string2 = 0 string1 gleich string2 > 0 string1 größer als string2 Das mit dem größer und kleiner will ich mal so erklären: "ANTON" steht im Wörterbuch vor "BERTA" und ist deshalb kleiner. Das hat auch Bubble mit der "lexographischen Anordnung der Strings zueinander" gemeint.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden