Offset must be a double error when reading file byte by byte
조회 수: 2(최근 30일)
표시 이전 댓글
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);
답변(1개)
Voss
2022년 2월 15일
I think you've got the second and third inputs to fseek() swapped around. It should be fseek(fileID,offset,origin), so for instance:
fseek(fid, 220, 'bof');
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!