Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

c++ - probleme beim schreiben in datei

manxus / 1 Antworten / Flachansicht Nickles

hab folgenden code:


...
#define ANZAHLZEICHEN 10
...
char ctemp[ANZAHLZEICHEN];
...
main()
{
printf("Was soll geschrieben werden?\nEingabe: ");
...
cin.getline(ctemp,ANZAHLZEICHEN,'\n');
schreiben();
...
}
schreiben()
{
... //schreibvorgang
}


dabei soll mit der funktion getline() der eingabestring eingelesen werden und dann in eine datei geschrieben werden. das problem hierbei ist aber, dass der puffer 'ctemp' nicht dynamisch ist und somit keinen "beliebig" langen string nehmen kann, sondern nur die länge die in ANZAHLZEICHEN definiert ist, hier 10. Wie kann ich erreichen, dass ich "beliebig" lange strings eingeben kann???


Danke!

bei Antwort benachrichtigen
thomas woelfer manxus „c++ - probleme beim schreiben in datei“
Optionen

wenn du beliebig lange strings willst, dann musst du zeichenweise lesen und den puffer entsprechend dynamisch vergroessern. du hast dann also quasi 2 puffer: einer fuer genau ein zeichen der immer wieder wiederverwendet wird, und ein zweiter der nach jedem gelesenen zeichen um ein byte vergroessert wird. (das ist natuerlich etwas ineffizient (man wuerde das wohl eher blockweise machen) - aber es tut.)

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen