Text Datei in C++ einlesen und verändern
-
Mein Programm im MOM
#include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { char filename[128]; ifstream file; char buchstabe; char wait; // Dateinamen einlesen cout << "Dateinamen eingeben: " << flush; cin.getline(filename, 127); // Datei öffnen file.open(filename, ios::in); if (file.good()) { // Wenn die Datei geoeffnet werden konnte... // An den Anfang der Datei springen file.seekg(0L, ios::beg); while (! file.eof()) { // Die Datei zeilenweise auslesen file.get(buchstabe); cout << buchstabe; if (buchstabe == 39) cout << endl; } cout << endl; } else { // Wenn die Datei nicht geoeffnet werden konnte, // aus welchen Gruenden auch immer... cout << "Datei nicht gefunden." << endl; } cin.get(wait); return 0; }Nun will ich aber z.B. in der Textdatei steht das hier:
MOA+66:-3052.50:EUR'TAX+7+VAT+++:::20'LIN+14++14:EN'IMD+F+ +:::MIG Forderung Strom VA:'MOA+66:1363.92:EUR'TAX+7+VAT+++:::00'LIN+15++1 5:EN'IMD+F++:::Strom-Anlage 0082657287:Egger SeepromenadeAber ich will das es nach dem durchlauf meines Programms so aussieht:
MOA+66:-3052.50:EUR'
TAX+7+VAT+++:::20'
LIN+14++14:EN'IMD+F+ +:::MIG Forderung Strom VA:'
MOA+66:1363.92:EUR'
TAX+7+VAT+++:::00'LIN+15++1 5:EN'
IMD+F++:::Strom-Anlage 0082657287:Egger SeepromenadeAlso das einfach nach jedem ' ein Zeilenumbruch kommt.
Kann mir wer helfen ?
-
Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
int main(int argc, char* argv[]) { string filename; // Dateinamen einlesen cout << "Dateinamen eingeben: "; getline(cin, filename); ifstream file(filename.c_str()); if(!file.is_open()) { cout << "Fehler: Datei konnte nicht geöffnet werden!" << endl; return 1; } string content; std::copy(istream_iterator<char>(file), istream_iterator<char>(), back_inserter(content)); file.close(); string::size_type size = content.size(), done = 0; while(done < size) { string::size_type pos = content.find("'", done); pos = (pos == string::npos) ? size : pos+1; cout << content.substr(done, pos-done) << endl; done = pos+1; } cin.get(); return 0; }
-
warpach?
Kannst du mir pls einen gefallen tuen und dich mal bei mir melden ?Ich bräuchte dringends deine Hilfe....
ICQ: 195-386-599
Bitte meld dich !!!!! ^^ Danke im Voraus
LG Kevin