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

sizeA
n para uma coluna de até n valores, Inf para todos, ou [m n] para preencher uma matriz m-por-n por 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

Veja também

fwrite fopen fscanf fseek ftell