There is always an off chance that some of the software that uses those
files may expect a fixed length, and will freak out if the length isn't
what it had expected. Other software may read and process records until
it reaches what it thinks of as EOF. If it looks at physical EOF, it will
end up reading an extraneous record, that may be of wrong size, but
certainly wrong format. Remember what scanf() does when if encounters
data that it doesn't understand. Not all software will exit gracefully
when it encounters unexpected extraneous content after the last of the
expected data.
Therefore, there is some risk involved in appending anything
to the file(s).
Could you create a separate file that is associated with each file?
filename.DAT and filename.INF
That way, the .DAT file can be an "UNCORRUPTED" exact image of the
original data.
filename.INF could be a simple text description, maybe even in complete
sentences, containing whatever is known about the file, such as record
structure(s), etc. (and editable if/when more is learned!)
If there is an expectation of an extreme quantity of data files,
then the .INF file should have a fixed machine parseable format,
followed by a freeform text component at its end.
Maybe even create additional files, such as filename.JPG containing an
image of the label.
The big problem with that is the requirement that the .INF file stay in
proximity to the file containing the image of the data. Maybe STAPLE them
together?