Offset must be a double error when reading file byte by byte
Ältere Kommentare anzeigen
I read the file byte by byte, I know the byte structure, the small end is 220,400,600,1000 and then 1220,1620... bytes, all values are uint16, I need to get a matrix for each byte order, i.e. 220:N, 420:N (N is the length of the file)
fid=fopen(fileName,'rb') % opens the file for reading
x1 = fread(fid, Inf, 'uint8', 220);
fseek(fid, 'bof', 220);
x2 = fread(fid, Inf, 'uint8', 400);
fseek(fid, 'bof', 620);
x3 = fread(fid, Inf, 'uint8', 600);
fseek(fid, 'bof', 1020);
x4 = fread(fid, Inf, 'uint8', 1000);
fclose(fid);
Error using fseek
Offset must be a double.
Error in Untitled3 (line 27)
fseek(fid, 'bof', 220);
2 Kommentare
Jan
am 15 Feb. 2022
By the way, specifying the 'b' format in FOPEN is outdated for over 20 years.
The problem looks strange. If the opening of the file fails, another message is shown. Are you using the standard function fseek() of Matlab? What is the output of:
which fseek -all
Lev Mihailov
am 15 Feb. 2022
Antworten (1)
Kategorien
Mehr zu Low-Level File I/O finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!