Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Du hast auch wahrscheinlich recht. Nur verstehe ich nicht, warum es vorhin bei mir ging... und es ging ganz sicher! Nur jetzt hab ich so einen blödsinn gemacht, dass gar nix mehr gescheit läuft.

melde mich, falls ich wieder probleme haben sollte. glaub, dann schick ich dir gleich den ganzen code :beagolisc

Gruß Kitty

Geschrieben
Du hast auch wahrscheinlich recht. Nur verstehe ich nicht, warum es vorhin bei mir ging... und es ging ganz sicher! Nur jetzt hab ich so einen blödsinn gemacht, dass gar nix mehr gescheit läuft.

melde mich, falls ich wieder probleme haben sollte. glaub, dann schick ich dir gleich den ganzen code :beagolisc

Gruß Kitty

Du hattest natürlich recht. Das war ja logisch. Ich hatte nicht nur dich durcheinander gebracht sondern mich gleich auch :beagolisc

Also, ich öffne die Dateien mit OPEN_EXISTING. Ansonten bleibt aber die Reihenfolge: öffnen & locken -> lesen -> schreiben -> shcließen & entlocken.

Das Problem besteht weiterhin.

Du meintest

Nach deiner Erklärung würde ich vermuten das WriteFile entweder 2 mal mit den selben Daten aufgerufen wird und eshalb 2 mal das Selbe in der Datei steht oder das es manchmal halt noch von vorher drin steht und nicht überschrieben wurde.

wie kann ich soetwas vermeiden? Wie kann ich die Datei leeren (nicht löschen)?

Geschrieben

Naja wenn du beim schreiben den gesamten Inhalt neu schreibst dann würde ich die Datei einfach mal nach dem lesen schließen und mit Create_Allways neu öffnen. Oder du gehtst mit SetFilePointer an den Anfang und rufst SetEndOfFile auf, aber da geht das erste schneller.

Wenn du nur einen bestimmten Teil der Datei austauschen willst dann geht man für gewöhnlich hin und erstellt eine neue Datei in der man dann erst die Daten aus der alten Datei bis zur Stelle die geändert werden soll kopiert, dann die neuen Daten und schließlich den Rest der Originaldatei.

Danach ersetzt du dann die Originaldatei durch die Neue.

Geschrieben

muss vermeiden, dass die datei geschlossen wird.

habe mir gerade das SetFilePosition() angesehen und werde das dann benutzen. SetEndOfFile muss ich dann glaub nach WriteFile aufrufen. Hoffe, es klappt so. WEnn nicht, dann nehm ich deinen Tipp...

danke + Gruß Kitty

Geschrieben

heut ist echt nicht mein Tag oder? :rolleyes:

also hab zuerst

SetFilepointer(handle)

dann WriteFile

danach SetEndOfFiel(handle)

und so funktioniert es. Gaaaaanz sicher :D

kanne s dir auch schicken :D

Geschrieben

Das funktioniert aber nur dann wenn du mit WriteFile genauso viele bzw. mehr Daten reinschreibst als wie vorher drin waren.

Wenn du weniger schreibst dann würde etwas aus der alten Datei drin bleiben. Deshalb das SetEndofFile nach dem SetFilePointer.

Am Ende brauchst du kein SetEndofFile, das passiert automatisch :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...