Problem mit einer Fallunterscheidung

Wastl_m

Grünschnabel
Hi,

ich hab ein Problem mit einer Fallunterscheidung in meinem Winsock-Serverprogramm. Nämlich ich verschike einen string übers Netzwerk und es kommt auch richtig beim Server(wird zumindest richtig ausgegeben) an, aber wenn ich dann eine Switch einbaue erkennt er das Wort nicht.
Ich hoffe mir kann jemand helfen.

MfG.
Wastl
 
Hallo man weder in C noch C++ keine direkten Vergleiche mit strings
anstellen...
Du brauchst dafür die Funktion strcmp()...

Code:
#include <stdio.h>
#include <string.h>

int main(){
    char* word = "Hugo";
    if(strcmp(word, "Fred") == 0) printf("ich bin Fred\n");
    else if(strcmp(word, "Hugo") == 0) printf("ich bin Hugo\n");
    else printf("ich bin jemand anders\n");
}

Wenn es der Fehler ist den ich vermute, ansonsten wäre es nicht
schlecht wenn du mal ein bisschen Code zeigen würdest...


Gruß
 
Moin moin,
wie wär es mit etwas, wenigstens ein ganz kleines bischen Quellcode

Hier im Forum sind zwar sehr fähige, nette und hilfsbereite Menschen zu finden, aber mit dem Hellsehen klappt das nur manchmal...

Tipp am Rande
Debug doch mal.

Falls du sowas hast
Code:
CString test = "hallo";
switch(test)
{
case "Hallo":
break;
case "Ciao":
break;
default;
break;
}
wird das nicht funktionieren wenn ich mich richtig erinnere.
Kannst mit switch nur auf Zahlenwerte wie Integer,char oder float prüfen nicht aber auf Strings (Array von char).

Sollte ich mich da irren, nehm ich alles zurück und behaupte das Gegenteil:-)
Steht aber in deiner Hilfe Doku. :suchen:

Gruss Michael
 
Also der erste code von euch hat gereicht es funktionirt einwandfrei. Von dem Quellcode konnte ich leider nichts veröffentlichen da er geheim ist.
 
Zurück