Entrada/Salida
E/S por consola
getche ( ) lee un carácter del teclado, espera hasta que se pulse una tecla y entonces devuelve su valor. El eco de la tecla pulsada aparece automáticamente en la pantalla. Requiere el archivo de cabecera conio.h
putcahr ( ) imprime un carácter en la pantalla.
Los prototipos son:
int getche (void);
int putchar (int c);
Ejemplo:
main ( ) /* cambio de mayúscula / minúscula */
{
char car;
do {
car=getche( );
if (islower(car)) putchar (toupper (car));
else putchar (tolower (car));
} while (car=!'.')
}
Hay dos variaciones de getche ( ) :
- Getchar ( ): función de entrada de carácteres definida por el ANSI C. El problema es que guarda en un buffer la entrada hasta que se pulsa la tecla INTRO.
- Getch ( ): trabaja igual que getche ( ) excepto que no muestra en la pantalla un eco del carácter introducido.
gets ( ) y puts ( )
Permiten leer y escribir cadenas de carácteres en la consola.
gets ( ) lee una cadena de carácteres introducida por el teclado y la situa en la dirección apuntada por su argumento de tipo puntero a carácter. Su prototipo es:
char * gets (char *cad);
Ejemplo:
main ( )
{
char cad[80];
gets (cad);
printf ("La longitud es %d", strlen (cad));
return 0;
}
puts ( ) escribe su argumento de tipo cadena en la pantalla seguido de un carácter de salto de línea. Su prototipo es:
char * puts (const char *cad);
E/S por consola con formato
printf ( ) El prototipo de printf ( ) es:
int printf (const char *cad_fmt, ...);
La cadena de formato consiste en dos tipos de elementos: carácteres que se mostrarán en pantalla y órdenes de formato que empiezan con un signo de porcentaje y va seguido por el código del formato.
%c un único carácter
%d decimal
%i decimal
%e notación científica
%f decimal en coma flotante
%o octal
%s cadena de carácteres
%u decimales sin signo
%x hexadecimales
%% imprime un signo %
%p muestra un puntero
Las órdenes de formato pueden tener modificadores que especifiquen la longitud del campo, número de decimales y el ajuste a la izquierda.
Un entero situado entre % y el código de formato actua como un especificador de longitud mínima de campo. Si se quiere rellenar con ceros, se pone un 0 antes del especificador de longitud de campo.
%05 rellena con ceros un número con menos de 5 dígitos.
%10.4f imprime un número de al menos diez carácteres con cuatro decimales.
Si se aplica a cadenas o enteros el número que sigue al punto especifica la longitud máxima del campo.
%5.7s imprime una cadena de al menos cinco carácteres y no más de siete.
scanf ( ) Su prototipo es:
int scanf ( ) (const char *cadena_fmt, ...);
Ejemplo:
scanf ("%d",&cuenta);