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);