WriteFile Problem
-
Hallo zusammen,
ich versuche im meinem Program (MASM32) ein String in ein Datei (C:\test.txt) zu schreiben. Da mir im masm32 keine Funktion fopen, fputs, fclose zu verfügung
steht, hab ich WriteFile beschäftigt.Alles klappt auch ganz gut.
Nun genügte mir im C++ einfach fputs("\n\r", stream) aufzurufen um in die neue Zeile zu gehen, mit masm geht es aber irgendwie nicht

so sieht der Code aus:
.data CR_LF db 10,13,0 .code invoke WriteFile, hFile, addr CR_LF, 2, addr dwBytesWritten, 0Es ist auch so, das die Zeichen 10 und 13 werden zwar in die Datei geschrieben,
es wird aber nicht in die neue Zeile gegangen
Und wenn ich die Datei mit Notepad öffne, dann sehe ich einfach zwei Leerzeichen, und dann wird die Zeile einfach fortgesetzt.
Was mache ich hier Falsch????
Danke!
-
Hi.
Unter Windows wird eine neue Zeile in Textdateien durch die Kombination 13, 10 eingeleitet, und nur durch diese.
Auf alles andere reagiert notepad alergisch.
hth.
-
Nobuo T schrieb:
Hi.
Unter Windows wird eine neue Zeile in Textdateien durch die Kombination 13, 10 eingeleitet, und nur durch diese.
Auf alles andere reagiert notepad alergisch.
hth.
aber komischerweise reagiert d. Notepad auf das 13,10 auch alergisch

Klar hab ich das auch probiert

Es ist also egal ob ich 10,13 oder 13,10 rein schreibe, es wird nicht in die neue Zeile gegangen, sie (die Zeile) wird fortgesetzt
Danke, aber das hilft mir leider nicht weiter

NEED HELP
-
Hallo Leute,
hat sich erledigt

Aber warum ist es so?????Also in meinem Program, sprich im DATA Segment ist eine Haufe von "Variablen" deklariert, darunter ist auch CR_LF db 13,10,0
nun wenn ich CR_LF ganz unten deklariere, etwa so:
.data hInstance dd 0 szClassName db "blablabla",0 hMutex dd ? hLog dd ? hDll dd ? szBla-Bla db MAX_PATH DUP(0) szBla-Bla2 db MAX_PATH DUP(0) szBla-bla3 db MAX_PATH DUP(0) szbla-bla4 db MAX_PATH DUP(0) noch viele viele Variablen CR_LF db 13,10,0 ;<<<<<<<<<<<<<<<<<<<< FAST/GANZ UNTEN .code ; << Code Segment weiterDann funktioniert es NICHT, also es werden zwei Leerzeichen in Datei geschrieben, und es wird nicht in die neue Zeile gegangen

Aber wenn ich die CR_LF ganz oben/ in die Mitte deklariere, erst dann funktioniert es. Also erst dann wird wirklich in die neue Zeile gegangen

etwa so:
.data CR_LF db 13,10,0 noch viele viele Variablen .code ; << Code SegmentKann mir hier einer sagen warum es so ist???????????
Danke!
-
Dann wirst du es dir wohl irgendwo überschreiben. Schau mal im Debugger nach, ob CR_LF zum Zeitpunkt des WriteFile noch 13,10 enthält. Vermutlich nicht!