TXT-Datei einlesen



  • Hallo,

    ich lese eine Textdatei (logfile.txt) in ein Eingabefeld ein,
    dies klappt auch ganz gut, nur wird leider der Text in einer
    Zeile ausgegeben.
    Wie kann ich Platzhalter setzen, um einen Zeilenumbruch zu erwirken ?
    Mein Quelltext sieht bisher so aus:

    CFileDialog dlg(TRUE,NULL,"logfile",NULL,"txt",NULL);
    int control;
    control = dlg.DoModal();
    
    if( control == 2) // 2 = Abbrechen
    {
    delete dlg;
    } 
    
    if(control!=2)
    {
    CString File=dlg.m_ofn.lpstrFile;
    
    CString buffer;
    CStdioFile plfile;
    
    m_oeffnelog="";
    UpdateData(FALSE);
    
    plfile.Open(File,CStdioFile::modeRead);
    
    while(plfile.ReadString(buffer))
    {
    m_oeffnelog += buffer;
    }
    
    UpdateData(FALSE);
    }
    

    Hab die FAQ schon durch 🙄 und nicht recht die
    Lösung gefunden für die MFC.
    Danke vorab !

    Snoop



  • Original erstellt von <Snooper>:
    **m_oeffnelog += buffer;
    **

    ersetz das durch:
    m_oeffnelog +=buffer+"\n";



  • Hmm, OK. Hab es erweitert, aber das Ergebnis bleibt das gleiche.
    \n macht nen Zeilenumbruch, aber wie verzweige ich das jetzt auf
    meine Textdatei, damit das Prog weiß, wo und weshalb es einen
    Umbruch einfügen soll ? Muß in der Textdatei doch auch irgendwie
    getrennt werden mit nem speziellen definierten Zeichen oder(z.B. ";") ?
    Wie mach ich das..Haelp

    Sry, ich blicke da noch nicht durch 🙂

    Night erstmal,

    Snoop the noob 😃



  • sind in der textdatei die du oeffnest zeilen umbrueche drin ??



  • Ja, die Textdatei hat mehrere Zeilen z.B. so:

    Pfadangaben:
    c:\ordenr1

    datei:
    test.dat

    Von:
    ip12345

    Diese Formatierung soll auch im Eingabefeld meiner MFC Anwendung
    so erscheinen.

    Snoop



  • tja, steht in der FAQ...
    Du must "\n" durch "\r\n" ersetzen...

    Devil



  • Hi Devil,

    habe es wie in der FAQ beschrieben gemacht.
    Als Ergebnis kommt wieder eine ganze Zeile
    bei raus in meinem Anzeigefenster.
    Wenn ich allerdings diese Zeile komplett übernehme
    in z.B. Word, dann hat die Zeile die richtige Formatierung ?!

    Bitte um Hilfe.

    Snoop



  • Hi

    Hast du auch das Editfeld auf Multiline gestellt? Sonst kann es ja nicht klappen!

    C++M@n


Log in to reply