Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Ich glaube fast C ist das Problem

JamesBomb / 1 Antworten / Baumansicht Nickles

Ich möchte eine kleine Shell für einen Dateisystememulator basteln.
So soll man zB. "dir" eingeben, um den Verzeichnisinhalt anzuzeigen. im Quelltext sieht das so aus:

blabla bla...
char* eingabe = "";

scanf("%s", &eingabe);

if (eingabe == "dir") {...

^-- gibt aber immer false zurück, auch wenn dir eingegeben wird.
WO liegt das Problem? Ich glaube nicht, daß man in C keine Strings vergleichen kann!

bitte helft!

bei Antwort benachrichtigen
Anonym JamesBomb „Ich glaube fast C ist das Problem“
Optionen

Dein Test vergleicht (char*)eingabe mit (const char*) "dir", also
den Wert zweier Zeiger. Du willst aber Inhalt der Speicherbereiche
vergleichen, auf die die Zeiger zeigen. Das geht z.B. mit der
strcmp Funktion.

j. - www.obira.de

bei Antwort benachrichtigen