Hallo,
habe mal eine Frage und zwar.
Ich muss von der Konsole einlesen, gefordert ist, dass es beliebig lange Zeichenketten sein sollen.
Alles wird in char[] gespeichert (keine strings).
Aktuell sieht meine Funktion so aus:
Kann somit nur 100 Zeichen lesen.
Irgendwie muss das Array Type dynamische angelegt werden.
Wie aber kann ich die Länge bzw. Anzahl der Zeichen bestimmen???
habe mal eine Frage und zwar.
Ich muss von der Konsole einlesen, gefordert ist, dass es beliebig lange Zeichenketten sein sollen.
Alles wird in char[] gespeichert (keine strings).
Aktuell sieht meine Funktion so aus:
Code:
int maxLaenge = 100;
char Type[maxLaenge+1];
void Flugzeug::einlesen(istream& InputStream = cin, int mitEingabeaufforderung){
char* einlesen = new char[maxLaenge+1];
cout << "Bitte Type eingeben: ";
if(InputStream >> setw(maxLaenge) >> einlesen){
strncpy(Type,einlesen,maxLaenge-1);
Type[maxLaenge-1]= '\0';
InputStream.ignore(INT_MAX,'\n');
}
else{
cerr << "Es ist leider ein Fehler aufgetreten." << endl;
}
}
Irgendwie muss das Array Type dynamische angelegt werden.
Wie aber kann ich die Länge bzw. Anzahl der Zeichen bestimmen???
Zuletzt bearbeitet von einem Moderator:
(Bitte künftig die Code-Tags verwenden. ;))