读取一行二进制文件 MATLAB

Reading a line of binary file MATLAB

我是 MATLAB 的新手,我想做一件简单的事情:我想读取一个包含这样行的二进制文件

32156432

345243867

454154351

35477

5641871

....

我知道 MATLAB 中的 fread() 是逐字节读取文件,但我想读取每一行的值。所有值都是 uint32_t 并且文件是使用 C++ 中的脚本生成的,只有 printf,这些值打印在文件中,例如 my_file.bin 以这种方式启动可执行文件./executable param1 >> my_file.bin

您可以使用函数fscanf

示例代码:

fileID = fopen('my_file.bin','w');
x = 32156432;
y = 345243867;
w = 454154351;
fprintf(fileID, '%d\n',x);
fprintf(fileID, '%d\n',y);
fprintf(fileID, '%d\n',w);
fclose(fileID);

fileID = fopen('my_file.bin','r');
formatSpec = '%d';
A = fscanf(fileID, formatSpec);