how to add additional content to a binary file

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 个评论

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?

请先登录,再进行评论。

回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

提问:

2011-9-9

Community Treasure Hunt

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

Start Hunting!

Translated by