Zum Inhalt springen

2 Arrays miteinander vergleichen


Empfohlene Beiträge

Geschrieben

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

Geschrieben
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]

Geschrieben

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!:P

Geschrieben
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 );

}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...