String in C überprüfen?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Zum Vergleichen von Strings musst du die Funktion strcmp() benutzen.

Der "=="-Operator vergleicht die Speicheradressen der Strings, und die werden in deinem Fall immer unterschiedlich sein.


korbi27 
Beitragsersteller
 15.08.2019, 06:32

Morgen!

Dankeschön für Ihre hilfreiche Antwort!

eingabe ist nicht ein string sondern nur eine zahl die eine speicheradresse bezeichnet ab der das erste zeichen des strings steht, also z.B.

eingabe = 7512895

klar dass eingabe == "hello" dann nicht geht (allein schon vom Typ her). In Basic ist das anders. Da könnte man eingabe$ = "hello" vergleichen oder sogar setzen.

Du brauchst also eine Funktion, die mit der speicheradresse (hier 7512895) dir den String zusammenbastelt und das ist dann z.B. das strcmp.


korbi27 
Beitragsersteller
 15.08.2019, 06:36

Morgen!

Okay, verstehe - Danke für Ihre Antwort!

Probier es mal mit eingabe.equals("hello")

Wenn das nicht geht, musst du jedes Zeichen einzeln in einer Schleife überprüfen. Dazu würde ich mir dann eine Funktion bauen.

Woher ich das weiß:Berufserfahrung – Programmierer

korbi27 
Beitragsersteller
 15.08.2019, 06:34

Morgen! Trifft auf die genannte Sprache C nicht zu, trotzdem danke für Ihre Bemühungen! (C# ist mir dann doch zu viel) 😂

LisamagPferde04  14.08.2019, 16:43

Falsche Sprache. In C gibt es sowas nicht

Versuch es mal mit if(strcmp(eingabe, "hello") == 0)


korbi27 
Beitragsersteller
 15.08.2019, 06:30

Morgen!

Supi - Das klappt! Danke Ihnen soweit!