herch Geschrieben 26. Juli 2002 Geschrieben 26. Juli 2002 Hi! Habe folgendes Problem: Ich hab 2 Arrays von [10] Stellen! Wie vergleiche ich diese Arrays miteinander?? Danke!
herch Geschrieben 26. Juli 2002 Autor Geschrieben 26. Juli 2002 Hallo, hab was gefunden: -------------------------------- strcmp prüft, ob zwei Zeichenketten lexikografisch gleich sind. int strcmp (const char *s1, const char *s) liefert : 0 wenn s1 gleich s2 > 0 wenn s1 lexikografisch größer s2 < 0 wenn s1 lexikografisch kleiner s2 Tschö mit ööö :marine
Klotzkopp Geschrieben 26. Juli 2002 Geschrieben 26. Juli 2002 Original geschrieben von Big Bundy Hallo, hab was gefunden: -------------------------------- strcmp prüft, ob zwei Zeichenketten lexikografisch gleich sind. Vorsicht! strcmp darf nur zum Vergleichen von Strings verwendet werden. Für Arrays allgemein ist es völlig ungeeignet, weil strcmp aufhört, sobald es ein Array-Element mit dem Wert 0 findet. Das ist bei Strings gewollt, weil das Nullzeichen die Stringende-Markierung darstellt. Bei Arrays wird das problematisch, weil strcmp u.U. zu früh, oder, was noch viel schlimmer ist, zu spät mit dem Vergleich aufhört. Die einzige Methode, zwei Arrays zu vergleichen, ist mit einer Schleife: bool arraysgleich = true; for( int i=0; i<arraygroesse; i++ ) { if( array1[i] != array2[i] ) { arraysgleich = false; break; } }[/CODE]
herch Geschrieben 26. Juli 2002 Autor Geschrieben 26. Juli 2002 Wurde dazu benutzt um 2 Strings miteinander zu vergleichen! (Hab mich etwas ungenau ausgedrückt) Für alle die es interessiert, hier ein BSP: ____________________________________________________ #include <string.h> #include <stdio.h> #define TRUE 1 #define FALSE 0 int StringCompare(char *s1, char *s2); main() { char One[] = "BigBundy"; char Two[] = "BigBunny"; int Ret; Ret = StringCompare(One, Two); if (Ret == TRUE) { puts("The Strings match"); } else { puts("The Strings do not match"); } } /**************************************************************/ int StringCompare(char *s1, char *s2) { int Ret; if (strcmp(s1, s2)) { Ret = 0; } else { Ret = 1; } return (Ret); } ____________________________________________________ Bis dann!
Klotzkopp Geschrieben 26. Juli 2002 Geschrieben 26. Juli 2002 Original geschrieben von Big Bundy Wurde dazu benutzt um 2 Strings miteinander zu vergleichen!Na, dann ist ja gut int StringCompare(char *s1, char *s2) { int Ret; if (strcmp(s1, s2)) { Ret = 0; } else { Ret = 1; } return (Ret); }Das ist aber umständlich Wie wärs damit: int StringCompare(char *s1, char *s2) { return 0 == strcmp( s1, s2 ); }
herch Geschrieben 26. Juli 2002 Autor Geschrieben 26. Juli 2002 Tja, man lernt halt (fast) jeden Tag was dazu:marine
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