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 Seepromenade

    Aber 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 Seepromenade

    Also 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


Anmelden zum Antworten