Ver Mensaje Individual
  #13 (permalink)  
Antiguo 02/07/2005, 15:31
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Problema: Como se usa el scanf, cuales son todas sus opciones?
Variante: C
Solucion:

scanf a diferencia de printf recoje los datos metidos en la consola.
El prototipo de scanf es:

int scanf(const char *texto, ...);

El primer argumento son los especificadores de formato que quiere guardar como en un tipo de variable.

Los especificadores de formato son los mismo que de printf, y tambien incluye otros que no voy a mencionar porque no se para que sirven aun.

En el segundo argumento se ponen una indireccion a las variables donde quieren guardar los datos por eso se usa &.

Un ejemplo sencillo del uso de scanf es el siguiente.

Entrada:
Hola 123, FF

Cita:
char texto[32];
int a, b;

scanf("%s%d&x", texto, &a, &b);
Scanf lee hasta encontrar espacios y lo guarda segun el formato especificado en la variable que se ponga.
Si es posible hacer que scanf lea con mas precision, sin omitir espacios pero para hacer ese tipo de operaciones se recomienda mas usar metodos manuales con gets, getc, etc.

scanf tambien tiene otras veriones.
sscanf que en vez de leer de la consola, lee de una variable:
int sscanf(char *donde, const char *texto, ...);

scanf tambien es equivalente a
fscanf(stdin, ...)
Y que fscanf lee de un flujo y el flujo stdin es el de la consola.
Tambien esta wscanf para texto en forma Unicode.

Última edición por Instru; 02/07/2005 a las 15:41