fscanf

Lê dados formatados de um arquivo de texto.

Categoria: Data Import and Analysis > Data Import and Export

Sintaxe

A = fscanf(fid, formatSpec)

Lê valores que casam com o formato até o fim do arquivo, em uma coluna.

A = fscanf(fid, formatSpec, sizeA)

Limita ou dá forma ao resultado: n, Inf ou [m n].

[A, count] = fscanf(...)

Retorna também o número de valores lidos.

Descrição

Como as matrizes são preenchidas por colunas, ler para uma matriz um arquivo gravado linha a linha exige transpor: fscanf(fid, '%d', [3 Inf])' para linhas de três números.

A leitura para no primeiro trecho que não casa com o formato. Para texto misturado com números, textscan é mais flexível.

Argumentos de entrada

formatSpec
Conversões como %d, %f, %g, %s, %c. O formato é reaproveitado até acabarem os dados ou o tamanho.
sizeA
[m Inf] lê quantas colunas os dados fornecerem. Os valores preenchem a matriz por colunas.

Argumentos de saída

A
Vetor coluna ou matriz numérica; conversões de texto entram como códigos de caracteres, a menos que todas as conversões sejam de texto.
count
Número de elementos lidos.

Exemplo

Linhas de números

fid = fopen('n.txt', 'w');
fprintf(fid, '1 2 3\n4 5 6\n');
fclose(fid);
fid = fopen('n.txt');
A = fscanf(fid, '%d', [3 Inf])'
fclose(fid);
fid = fopen('n.txt');
[B, count] = fscanf(fid, '%f');
fclose(fid);
B', count
Saída
A = 2×3

     1     2     3
     4     5     6
ans = 1×6

     1     2     3     4     5     6
count = 6

Veja também

textscan fgetl fread sscanf readmatrix