If-Else Abfrage mit Strings funktioniert nicht
-
Wie Du bereits schon selber festgestellt hast, gibt strcmp() bei Gleichheit der Strings 0 zurück. Also musst überprüfen, ob der Rückgabetyp 0 ist, wenn Du willst, dass bei Gleichheit ein bestimmter Code-Block ausgeführt wird. Soll heissen:
[cpp]
if(strcmp(shellinpt,"cd..")){cout << "Sie sind in Root, dem Haupverzeichniss..." << endl;}
muss
if(**!**strcmp(shellinpt,"cd..")){cout << "Sie sind in Root, dem Haupverzeichniss..." << endl;}
heissen usw.
[/cpp]
-
Danke...wenn das klappt, dann bin ich blücklich...
Lust am Opnesource Projekt? ==> http://www.dkharlamov.de.vu.
Daniel
-
DaniilKharlamov schrieb:
Danke...wenn das klappt, dann bin ich blücklich...
Lust am Opnesource Projekt? ==> http://www.dkharlamov.de.vu.
DanielWillst du nicht noch etwas mehr lernen über C(++) bevor du dich an ein Projekt ranwagst?? Ich hab übrigens Schwierigkeiten dein "Projekt" zu finden auf der Seite oder soll das "Projekt" der Quellcode sein, den man auf deiner Seite findet?
-
unter Informatik/Sourcecode innerhalb dieser Woche kommt ne neue Version raus... machr ich ja auch nebenbei....
-
Ich denke AJ hat wohl eher sowas wie eine Beschreibung deines Projektes vermisst.
-
@Entyl_Sa
Ja so kann man das sagen.@DaniilKharlamov
Es ist nicht gerade ersichtlich, dass das ein Open Source Projekt sein soll. Man sollte zumindest schon wissen was das genaue Ziel des ganzen ist und warum das ganze überhaupt so gemacht werden soll.
-
probiert doch einfach mal die Strings zu vergleichen, und nicht Char[]:
#include <string.h> // oder ohne .h // und dann einfach die variable mit: string Variable "Zeichenkette"; // initialisieren !
-
Ich bezweifle, dass das so funktioniert.
Da fehlt noch namespace std; und die iostream. Außerdem fehlt das Zuweisungszeichen beim Initialisieren.
-
also, stimmt, der code wäre so fehlerhaft, meine Schuld, so ist es richtig:
#include <string.h> // oder ohne .h #include <iostream.h> using namespace std; // und dann einfach die variable mit: string Variable "Zeichenkette"; // initialisieren !
nur so zu deiner Info, laut MSDN, muss man den string nicht mit "="
initialisieren, man braucht bei string keinen Zuweisungsoperator !!!
-
Das kann gut sein, dass das die MSDN sagt. Allerdings sagt die MSDN viel wenn der Tag lang ist und es muss auch nicht immer dem Standard entsprechen, d. h. andere Compiler haben da vielleicht Probleme. Außerdem gibt es noch mehr als M$(DN). Da ich kein Standardfanatiker bin, kann ich dir nicht sagen, ob das nun vom Standard her erlaubt ist, aber ich finde es sieht falsch aus ohne Zuweisungsoperator und so wirds wahrscheinlich nicht nur mir gehen...