Hallo, habe hier mehrere Dateien mit unfomatiertem Inhalt, den ich fomatieren soll. Mit einzelnen Dateien geht das alles einwandfrei, es sind jedoch 29 Stück. Die Dateinamen lauten: roh1.data bis roh29.data Unter Basic kann ich Strings einfach "unterbrechen", mit einem + Zeichen was anhängen und dann wieder was anhängen. Es soll jedoch unter C geschehen. Wie macht man das am Besten? Strcat von jeweils den Teilstrings? for (int i=1; i<30; i++) { fstream rohdaten, formatiert; rohdaten.open("roh" + i +".data", ios::in | ios::binary); formatiert.open("formatiert" + i + ".txt", ios::out | ios::binary); } Gruß, Peter
> Wie macht man das am Besten? Strcat von jeweils den Teilstrings?
Das ist eine Möglichkeit - die primitivste.
Du kannst auch funktionen aus der printf - Familie nehmen. Das ist schon
deutlich komfortabler.
Peter wrote: > Hallo, > > habe hier mehrere Dateien mit unfomatiertem Inhalt, den ich fomatieren > soll. Mit einzelnen Dateien geht das alles einwandfrei, es sind jedoch > 29 Stück. Die Dateinamen lauten: roh1.data bis roh29.data > Unter Basic kann ich Strings einfach "unterbrechen", mit einem + Zeichen > was anhängen und dann wieder was anhängen. Es soll jedoch unter C > geschehen. Warum benutzt du dann C++? > Wie macht man das am Besten? Du arbeitest mit C++. Also: Nutze die Macht, Luke, aeh Peter In C++ gibt es Stringstreams, die sich wie der ganz normalen Ausgabestream cout verhält, nur dass das Ergebnis in einem std::string landet. Dort gibst du dann den festen Anteil deines Filenamens aus, gefolgt von der Schleifenvariable und der Extension. Dann holst du dir aus dem String den fertig formatierten Dateinamen raus. > Strcat von jeweils den Teilstrings? Könnte man in C so machen, ist aber umständlich. Der sprintf ist schon erfunden.
Der Quelltext ist nicht C, sondern C++. Solche Dinge wie "ios::in" gibt es in C nicht. Da Du C++ verwendest, kannst Du auch die deutlich komfortableren C++-String-Funktionen aus std::string verwenden, anstelle mit printf und Konsorten zu arbeiten.
Hallo, danke für die Tipps, nach ein wenig googeln nach den von euch genannten "richtigen" Stichwörtern, läuft es nun perfekt. Danke, Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.