Problem mit einem String
-
Also ich mal wieder
mit folgendem Problem#include <iostream.h> #include <string> using namespace std; void main()//kein Kommentar zum void bitte { string name; cout<<"Willkommen zum Tagesberechner v0.1Beta"<<endl; cout<<endl; cout<<"Wie ist dein Name? "; cin>>name;//Hier >> cout<<endl; cout<<"Hi "<<name<<". Gib bitte das Anfangsdatum ein im Format TT.MM.JJJJ ein.";//Hier die ersten << }
An den Beiden mit "Hier" gekennzeichneten stellen hab ich ein Problem oder besser gesagt mein Compiler hat eins, ich finde da keinen Fehler aber der Compiler meint das hier bei beiden:
" error C2679: Binaerer Operator '>>' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' akzeptiert (oder keine geeignete Konvertierung moeglich)"
Kann mir da mal einer weiterhelfen?? Und kann mir einer Sagen wie ich die länge des Strings bestimmen kann, so das er zb nur 4 Stellen maximal haben darf??
THX 4 ALL Help
-
mach mal statt
#include <iostream.h>
lieber ein
#include <iostream>
-
MMH Komisch jetzt funzt es, vorher gings ohne das .h nich Aber wie kann ich den String anweisen das er nur 4 Zeichen aufnehmen kann??
-
Raven2 schrieb:
MMH Komisch jetzt funzt es, vorher gings ohne das .h nich :
iostream.h und string vertragen sich nicht (umgekehrt vermutlich genauso)
denn iostream.h ist das alte iostream - das sollte man nichtmehr verwenden.
iostream ist neuer und kann deswegen auch string umgehenconfused: Aber wie kann ich den String anweisen das er nur 4 Zeichen aufnehmen kann??
garnicht. ein string kann soviel aufnehmen wie er speicher bekommt.
suchst du etwa einstring s; for(int i=0; i<4; ++i) { s+=cin.get(); }
?
-
Nein zu dem programm sollen später strings hinzukommen und ich will es so machen das man 3 Strings direkt nacheinander eingeben kann, ein Datum, ohne das man Enter drücken muß.
-
dann lies doch das ganze datum ein und zerlege den string dann.
so kannst du auch fehl-eingabe besser abfangen.
-
Werd ich mal versuchen THX.