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