stdio.h


Función sscanf ANSI C

int sscanf(const char *cadena, const char *formato,...);

Esta función es equivalente a fscanf, excepto que el argumento cadena especifica un array desde el cual la entrada es obtenida, en vez de un stream. Llegando al final de la cadena es equivalente a encontrar un final de fichero (EOF) en la función fscanf. El comportamiento acerca de copiando entre objetos que se superponen no está definido.

Valor de retorno:

La función scanf retorna el número de datos de entrada asignados, que puede ser menor que ofrecido, incluso cero, en el caso de un error de asignación. Si un error de entrada ocurre antes de cualquier conversión, la función fscanf retorna el valor de la macro EOF.

Ejemplo:

#include <stdio.h>

int main()
{
   char nombre[20]="", entrada[81]="";
   unsigned int edad=0;

   printf( "Escriba su nombre y edad, separados por un espacio:\n" );
   gets( entrada );
   sscanf( entrada, "%s %u", nombre, &edad );

   printf( "Has escrito: %s\n", entrada );
   printf( "Nombre: %s. Edad: %d\n", nombre, edad );

   return 0;
}