sscanf
Lê dados formatados de um texto.
Categoria: Language Fundamentals > Data Types
Sintaxe
A = sscanf(str, formatSpec)
Lê todos os valores que casam com o formato.
A = sscanf(str, formatSpec, sizeA)
Lê no máximo sizeA valores, ou preenche uma matriz quando sizeA é [m n].
[A, count] = sscanf(___)
Também retorna quantos valores foram lidos.
Descrição
sscanf é o inverso de sprintf. O formato é aplicado repetidamente ao texto, e a leitura para na primeira divergência. O texto entre conversões no formato, como o x= em 'x=%f', precisa estar na entrada. Espaço em branco no formato casa com qualquer quantidade de espaço em branco.
Se nada puder ser lido, o resultado é vazio. Para converter apenas um número a partir de texto, str2double é mais simples.
Argumentos de entrada
str- Vetor de caracteres ou string.
formatSpec- Conversões como
%d,%f,%s,%c, mais texto literal que precisa casar. sizeA- Número máximo de valores, ou
[m n].
Argumentos de saída
A- Vetor coluna (ou matriz) com os valores lidos. Se o formato mistura números e texto, os caracteres são retornados como seus códigos.
count- Número de valores lidos.
Exemplo
sscanf('3 4 5', '%d')'
sscanf('x=2.5', 'x=%f')
[v, n] = sscanf('1 2 3', '%d')
sscanf('10:20', '%d:%d')'
Saída
ans = 1×3
3 4 5
ans = 2.5000
v = 3×1
1
2
3
n = 3
ans = 1×2
10 20