how to add additional content to a binary file

9 views (last 30 days)
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 Comment
Jan
Jan on 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?

Sign in to comment.

Answers (1)

Jan
Jan on 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.

Categories

Find more on Variables in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!