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 ?