struct_read/struct_​write

バージョン 1.0.0.0 (5.33 KB) 作成者: Val Schmidt
Functions to ease the reading and writing of C data structures from and to binary files.
ダウンロード: 1.4K
更新 2009/6/24

ライセンスの表示

struct_read simplifies the reading of a C structure from a binary file by providing a functionality similar to the Python 'struct' module. The elements of the structure are specified as a series of characters (and optional multipliers) in a format string. struct_read then reads these binary values returning a cell array of the results. Results are returned either as character arrays or doubles since these are the default MATLAB types.

struct_write similarly takes a file handle, a format string and a cell array of data. Each item in the cell array is converted to the specified format in the string and written to the file handle.

The following list of format specifiers is generally supported.
% FORMAT SPECIFIERS:
%
% Specifier Bytes: Notes
% c 2 char returned as a string character
% C 2 char returned as a number (double)
% b 2 signed char
% B 2 unsigned char
% h 2 short
% H 4 unsigned short
% i 4 int
% I 4 unsigned int
% l 4 long
% L 4 unsigned long
% f 4 float
% d 8 double
% s char[] char[] returns character string

% EXAMPLE:
%
% Given the following C structure definition for a depth measurement from an
% echo-sounder:
%
% typedef struct
% {
% float depth1; //Depth1
% char units; // m for meters, f for feet
% double time_stamp; //Time stamp, number of seconds elapsed since midnight (00:00:00), January 1, 1970
% char[256] navstring; // GPS Position String
% } ECHO;
%
% fid = fopen('mybinaryfile','r');
% D = struct_read(fid,'fcd256c')
%
% D:
% { [23.456],'m',[1242238192.870432012], ...
% '$GPGGA,182503.00,7121.11801,N,15651.53926,W,1,12,0.8,20.49,M,-048,M,,*57' }

NOTE:
Reading and properly interpreting C-pointers is not generally supported.

引用

Val Schmidt (2024). struct_read/struct_write (https://www.mathworks.com/matlabcentral/fileexchange/24540-struct_read-struct_write), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2008a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersOther Formats についてさらに検索

Community Treasure Hunt

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

Start Hunting!
バージョン 公開済み リリース ノート
1.0.0.0