Read a defined size block and skip a set size bytes in binary file
2 ビュー (過去 30 日間)
古いコメントを表示
I am trying to read a defined size block (A) and skip 8 bytes repeatedly close to the end of a binary file. Also want to skip a set size of bytes (end_skip) at end of file.
Have tried in a several way, but it does not seem to work out correctly.
Any suggestions?
0 件のコメント
採用された回答
Walter Roberson
2018 年 3 月 21 日
precision = '*uint8';
block_count = A;
skip_size_in_bytes = 8;
data = fread(fid, [1 block_count], precision, skip_size_in_bytes);
"Also want to skip a set size of bytes (end_skip) at end of file."
I do not understand that part? When you reach end of file, there are no bytes available to skip.
2 件のコメント
Walter Roberson
2018 年 3 月 21 日
Don't worry about it. fread() will stop when it gets to the end of file, returning the data that it was able to read. The file position for the purposes of ftell() will be left at the end of file, not at skip_size_in_bytes past the end of file.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Low-Level File I/O についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!