CFile kontra fprintf - wie überprüfe ich den Inhalt ?



  • Du brauchst keinen char*. 😕

    Guck:

    CStdioFile datei;
    			CString strDateiname;
    			strDateiname.Format(_T("%s\\%s.log"), strLogPfad, tmNow.Format(_T("%Y_%m_%d")));
    			if (datei.Open(strDateiname, CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate))
    

    Direkt aus einem funktionierenden Projekt kopiert. 😉



  • Oh Gott ! Ich werd nie wieder in ein Forum schreiben ! Oh Gott wie peinlich ! Das Problem scheint schon lange gelöst, denn ich vollkranker Idiot hab die txt-Datei immer auf nem PDA angeschaut und da steht immer nur L in der Datei. Da die Datei aber irgendwie jedes Mal ziemlich groß war, hab ich sie auf nen PC gezogen und siehe da: es steht alles drin ! Na super ! Das mit dem PDA hätte ich wohl mal dazu sagen sollen. Bin gar nicht drauf gekommen !
    Sorry, sorry, sorry an alle, die sich hier den Kopf zerbrochen haben. Also in der Fassung die ich als letztes gepostet habe klappts alles ! Auch ohne CStdioFile.
    Ein Problem bleibt noch: wie kriege ich die kleinen fiesen Vierecke, die bei Leerzeichen eingefügt werden weg ? Hatte da was mit file.WriteString(text); im Zusammenhang mit CStdioFile gelesen. Klappt aber nicht (diesmal wirklich nicht --> Fehlermeldung !) !



  • ich würd sagen das ist eher ein Problem der Anzeige als ein Problem des Auslesens der Datei



  • Naja, offenbar gibts Schreibfunktionen, die eben ASCII und nicht binär schreiben. Oder eben umgekehrt. Mit CStdioFile und file.WriteString() sollten diese kleinen Vierecke - die übrigens nur da auftreten wo ein \n steht und nicht bei jeder Leerstelle - scheinbar im Editor nicht mehr sichtbar sein. Aber hinhauen tuts nicht, daher dachte ich, es gibt eine Alternative.



  • Das ist die Fehlermeldung wenn ich file.WriteString() benutze:

    error C2039: 'WriteString' : is not a member of 'CStdioFile'
    c:\...\mfc\include\afx.h(1487) : see declaration of 'CStdioFile'



  • ? Welcher Visual C++ Version hast du?



  • Visual C++4 SP4



  • 4 😮
    Ich hätte gerne mal aus historischem Interesse nen Screenshot. 😉
    Oder ist das die Version für WinCE?



  • wird CE sein, da sind manchmal leider so kleine Änderungen an den Klassen.

    Da wist du wohl mal in die MSDN zum CE schauen müssen oder *TADA* intellisense bemühen um zu schauen, wie die Methode heißt.



  • Ja, CE-Plattform. Werd dann wohl mal bei MSDN gucken gehen. Abschließende Frage hier noch, was ist denn eigentlich schneller - CFile oder fprintf() ? Beim Datei öffnen und/oder schreiben ?


Anmelden zum Antworten