WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Einzelne Bytes einer binären Datei überschreiben

 

programmierferkel
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 02.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2012, 22:22     Titel: Einzelne Bytes einer binären Datei überschreiben
  Antworten mit Zitat      
Hallihallo!

Ich bin wiedermal auf ein kleines Problem gestoßen. Ich versuche gerade Daten im binären Format abzuspeichern, sie dann wieder einzulesen und wieder neue Daten anzuhängen usw.. Dabei benutze ich die Befehle fopen, fwrite, ....

Wenn ich eine Datei erstelle und sie auslesen will, muss ich ganz genau wissen, wieviele und welche Daten ich ich mit der precission 'double' und 'char' eingelesen habe, damit ich alles wieder fehlerfrei ausgeben kann. Die Infos dazu speichere ich in Bytes am Anfang der Datei, die ich für diesen Zweck reserviert habe.

Das Problem das ich habe tritt auf, wenn ich nun neue Daten an eine bestehende Datei anhänge und dann die Daten wieder auslesen will. Ich würde dann gerne wieder Informationen am Anfang der Datei in die reservierten Bytes schreiben.

Gibt es Dafür einen Befehl in Matlab? mit fopen kann ich entweder nur lesen ('r'), oder alles löschen und neu schreiben ('w') oder am Ende anhängen ('a'), aber ich würde ja gerne die alten Daten behalten und nur einzelne Byte überschreiben.

Was wäre denn eine Lösung zu diesem Problem?

Ich dachte mir ich könnte zuerst die gesamte Datei einlesen und daraus dann die Daten extrahieren. Die Datei ist aber so um die 40 MB groß und ich dachte mir es genügt, wenn ich nur einen Teil der Daten auslese. Dazu würde ich aber dann eben Informationen am Anfang der Datei benötigen.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.01.2012, 23:41     Titel:
  Antworten mit Zitat      
Hallo,

ich würde zu dem Zweck mit memory-mapped files arbeiten.

Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
programmierferkel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 02.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2012, 12:55     Titel:
  Antworten mit Zitat      
Hi Harald

memmapfile ist genau das, was ich brauche! Thx
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.