TXT Datei einlesen



  • Hallo,

    habe schon ein haufen Infos gefunden´, wie man eine .txt Datei einlesen kann. Bloß keine einzige Lösung funktioniert!
    Könnt Ihr mir das helfen?



  • Mensch, Du weißt doch wie das hier läuft. Dum usst erst ein bisschen Quelltext zeigen, sonst hilft Dir hier keiner.



  • Hallo

    Auf eine wage Frage gibt es nur eine wage Antwort : TStringList oder std::fstream.
    Und hier im Forum gibt es sehr wohl funktionierende Beispiele, siehe SuFu oder FAQ.

    bis bald
    akari



  • Das ist mein Code:
    Also wenn ich statt OpenDialog1->FileName folgendes einsetze "c:\\probe1.txt" funktioniert wunderbar! Sonst kommt der unten angegebener Fehler! Warum verstehe ich nicht habt Ihr vieleicht eine Antwort?

    if (OpenDialog1->Execute()){
    	fstream f(OpenDialog1->FileName, ios::in);
    	char buffer[255]; //Einzulesende Zeile auf 255 Zeichen begrenzt.
    	if (f.good())
    	while (!f.eof())
    	{
    	f.getline(buffer, sizeof(buffer));
    	Memo1->Lines->Add(buffer);
    	}
    	else
    	ShowMessage("Fehler beim öffnen der Datei!");
    	f.close();
     }
    

    Fehler!

    [BCC32 Error] CHILDWIN.CPP(28): E2285 Could not find a match for 'fstream::basic_fstream(AnsiString,const _Iosb<int>::_Openmode)'
    

    @akari
    wo ist diese FAQ was du angesprochen hast?



  • Hallo

    fstream arbeitet nicht direkt mit AnsiString zusammen, insbesondere der Konstruktor. Du must AnsiString erstmal noch in einen C-String umwandeln.

    fstream f(OpenDialog1->FileName.c_str(), ios::in);
    

    Natürlich läßt sich das ganze auch sehr vereinfachen...

    if (OpenDialog1->Execute()){
        Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
        }
     }
    

    bis bald
    akari


Anmelden zum Antworten