fread
Lê dados binários de um arquivo.
Categoria: Data Import and Analysis > Data Import and Export
Sintaxe
A = fread(fid)
Lê o restante do arquivo como bytes sem sinal, em uma coluna de doubles.
A = fread(fid, sizeA, precision)
Lê sizeA valores do tipo indicado.
A = fread(fid, sizeA, precision, skip, machinefmt)
Pula bytes entre os valores e define a ordem dos bytes.
[A, count] = fread(...)
Retorna também o número de valores lidos.
Descrição
A leitura começa na posição atual do arquivo e a avança, de modo que chamadas sucessivas percorrem o arquivo. Abra o arquivo em modo binário para dados que não são texto. Para ler um arquivo de texto como caracteres em uma chamada, fread(fid, Inf, '*char')' devolve todo o conteúdo.
Argumentos de entrada
sizeAnpara uma coluna de aténvalores,Infpara todos, ou[m n]para preencher uma matrizm-por-npor colunas.precision- Tipo no arquivo, como
'uint8','int16','single','double','char'. Use'uint8=>char'para converter também a saída, ou'*char'como atalho para o mesmo tipo na entrada e na saída. machinefmt- Ordem dos bytes:
'l'little-endian,'b'big-endian.
Argumentos de saída
A- Dados lidos. A classe é double, a menos que a precisão use
=>ou*. count- Número de valores lidos.
Exemplo
Registro binário misto
fid = fopen('f.bin', 'w');
fwrite(fid, 'ABC');
fwrite(fid, pi, 'double');
fwrite(fid, [1 2], 'int16', 'b');
fclose(fid);
fid = fopen('f.bin');
txt = fread(fid, 3, '*char')'
x = fread(fid, 1, 'double')
v = fread(fid, 2, 'int16', 0, 'b')'
fclose(fid);
Saída
txt = 'ABC'
x = 3.1416
v = 1×2
1 2