how to add additional content to a binary file

9 vues (au cours des 30 derniers jours)
zhang
zhang le 9 Sep 2011
Hi guys,
I'd like to add some additional information to a binary file. The only requirement is to put these additional information at the beginning of the binary file.
Can anyone give some hints?
Thanks,
  1 commentaire
Jan
Jan le 9 Sep 2011
The question is not clear. Are you able to create the file in the wanted format, such that just the appending of the old contents is the problem?

Connectez-vous pour commenter.

Réponses (1)

Jan
Jan le 9 Sep 2011
There is no method to shift the contents of a file. Therefore the only method is creating a new file, write the new data and append the contents of the old file. Example:
% Create original file:
fid = fopen('File', 'w');
fwrite(fid, rand(1, 10));
fclose(fid);
% Create new file:
fid2 = fopen('File2', 'w');
fwrite(fid2, rand(1, 10));
% Read old file and append it:
fid = fopen('File', 'r');
data = fread(fid, inf, 'uint8');
close(fid);
fwrite(fid2, data, 'uint8');
fclose(fid2);
Now you can delete 'File' and rename 'File2' to 'File' on demand. An equivalent approach would be to read the old file at first and overwrite it directly. But in case of errors the former contents is lost.

Catégories

En savoir plus sur Variables dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by