===== Função sscanf ===== Arquivo header: #include ---- Sintaxe: ''[[tipos_dados|int]] sscanf( [[const]] [[tipos_dados| char *]] EndereçoSring, [[tipos_dados#formatadores_de_tipos|formato]], endereços_variáveis_argumentos);'' ---- A função ''**sscanf**'' é idêntica à função [[scanf]], mas os dados são lidos da string. O valor devolvido é igual ao número de variáveis, às quais foram realmente atribuídos valores. Esse número não inclui variáveis que foram saltadas devido ao uso do especificador de [[tipos_dados#formatadores_de_tipos|formato *]]. Um valor zero significa que nenhum campo foi atribuído; ''EOF'' indica que ocorreu um erro antes da primeira atribuição. /* sscanf.c */ #include int main(void) { char sTexto[80]; int iValor_a, iValor_b; /* Lera uma string (formato %s) e depois 2 valores inteiros (formato %d). As variáveis devem ser informadas na mesma seqüência. */ sscanf("Alo 1 2 3 4 5", "%s%d%d", sTexto, &iValor_a, &iValor_b); printf("\nTexto = [%s]\t Valor_a = [%d] \t Valor_b = [%d]\n", sTexto, iValor_a, iValor_b); return 0; } --- //[[marcos@laureano.eti.br|Marcos Laureano]] 2009/05/10 18:37// Outro exemplo para ilustrar o valor que a função sscanf retorna em caso de sucesso na leitura da string. #include int main() { char *s = "Hello World"; char s1[20],s2[20]; int len = sscanf(s,"%s",s1); printf("%s : %d \n",s1,len); len = sscanf(s,"%s %s",s1,s2); printf("%s %s: %d \n",s1,s2,len); return 0; } **Saída** ''Hello : 1'' ''Hello World: 2'' --- //[[tarcnux@tarcnux.com.br|Tarcisio Nunes]] 2011/09/6 12:20//