String Propblem
-
Hi,
als aller erstes: ich bin C++ Anfänger, das heißt, das ich warscheinlich irgendein Scheiß machen, aber was solls:ich habe ein Problem mit Strings, mein Compiler meldet mir dann immer ein Fehler, dass er die <cstring> nicht kennt:
Hier ein Bsp.:#include <cstring.h> #include <iostream.h> void main() { string strin; cout<<"Eingabe"; getline(cin, strin); cout<<"\n ausgegeben: "<<strin; }
ein ganz einfaches Beispiel, aber wieso funtzt das nicht. Mein Compiler kennt zwar die <string.h>, aber dann kann ich keine String definieren!
Ich habe das ganz genauso geschriebn, wie es in mein Buch stand, aber das hat alles nicht funktioniert!Wo ist da der Fehler?
-
#include <string> #include <iostream> using namepsace std; void main() { string strin; cout<<"Eingabe"; getline(cin, strin); cout<<"\n ausgegeben: "<<strin; }
cstring gibts nicht(da C keine String Klasse hatte)
es gibt nur string
iostream.h -> gibts nach dem neuen Standard nicht
nutze iostream + using namespace std;
-
aber in dem euinem Buch, was ich habe, gibt es die <cstring.h>!
*grübel*
naja, dann wird es wohl so richtig sein!
-
der Fragende
schrieb:
aber in dem euinem Buch, was ich habe, gibt es die <cstring.h>!
*grübel*
naja, dann wird es wohl so richtig sein!dann ist das ein Fehler
cstring ist ein ISO Standard HEader für die C Standardlibary
cstring.h gibt es einfach nicht
es gibt nur string.h
-
so, ich hab es jetzt nochmal probiert und hier der Quelltext:
#include <iostream> #include <string> using namespace std; void main() { string strin; cout<<"Eingabe: "; getline(cin, strin); cout<<"\n eingegeben: "<<strin; }
das ist der gleiche Quellcode, den ich kompiliert habe. Er kennt zwar die <string> aber das Proggy läuft nicht! Es bricht dann sofort ab und dann gibts ne Fehlermeldung!
Wieso funtzt das nicht?
-
hi,
ich bion mir jetzt nich ganz sicher, aber MUSS die main-function nich eigentlich einen rückgabewert haben?
-
der Fragende; schrieb:
Er kennt zwar die <string> aber das Proggy läuft nicht! Es bricht dann sofort ab und dann gibts ne Fehlermeldung!
Und die ist wie? Ich seh keinen Fehler in dem Programm.
CaGa schrieb:
ich bion mir jetzt nich ganz sicher, aber MUSS die main-function nich eigentlich einen rückgabewert haben?
Ja, sollte int main() sein.
-
der Fragende
schrieb:
#include <cstring.h> #include <iostream.h> void main() { string strin; cout<<"Eingabe"; getline(cin, strin); cout<<"\n ausgegeben: "<<strin; }
Also wenn das so in deinem Buch steht, wirf es weg...
-
also, wenn ich das Proggy mit der <string> und using namespace std versuche zu erstellen, kann ich es zwar kompileren und linken, aber wenn es gestartet wird, dann bricht es sofort ab und es erscheint eine Fehlermeldung. Welche das ist, hab ich wieder vergessen, aber ich sags euch gleich!
Funtzt der Quellcode bei euch? Übrigens, ich habe Visual C++ 6, wenn es an der Entwicklerumgebung (oder Compiler) liegt.
-
-
hm.. Das dürfte eigentlich nicht passieren (jedenfalls nicht bei dem Code von Hauptmann). Mach mal ein neues Projekt auf, und geb das Programm nochmal ein.
-
so, hab jetzt gemacht, was du gesagt hast, DrGreenthumb. Damit ich auch kein Fehler machen konnte, hab ich den Code vom Hauptmann kopiert. Einzige Änderung: Ich hab bei "using namepsace std;" using namespace std; geschrieben, war nur ein kleiner Schreibfehler von Hauptmann. Aber das Ergebnis war wie immer: Wieder der schnelle Abbruch und die gleiche Fehlermeldung!
Liegt es vielleicht daran, dass die Headerdatei <string> fehlerhaft ist? Obwohl ich nie etwas an irgendwelchen Header rumgespielt habe!
-
Ich kanns nicht testen, da ich kein VC++ habe.
Aber ausser VC++ neu zu installieren, fällt mir jetzt nix ein.
-
es könnte sein, das die Dateien bei einem Absturz beschädigt worden sind
also
am besten du installierst VC neu
unter Vs.net funktioniert das perfekt
-
Hauptmann schrieb:
es könnte sein, das die Dateien bei einem Absturz beschädigt worden sind
das Abstürzen geht bei Microsoft Produkten bekanntlich schnell
Kann gut möglich sein, ein Versuch kann ja nicht schaden.
-
Juhu! Es klappt!
Ich habe mein Microsoft Visual Studio 6.0 nochmal installiert und es klappt alles ohne Probleme, danke für den Tipp, an eine Neuinstallation hätte ich warscheinlich nicht gedacht!