Operaciones De E/S En Ansi C

Páginas: 6 (1355 palabras) Publicado: 13 de mayo de 2012
Operaciones de E/S en ANSI C
Las operaciones de entrada/salida estándar (realizadas habitualmente con
printf y scanf) se realizan en realidad sobre ficheros que representan los
dispositivos mediante los cuales el usuario interacciona con el ordenador.
La biblioteca estándar stdio (incluida en el ANSI C) nos permite
manipular ficheros desde nuestros programas en C, para lo cual hemos deincluir
la siguiente directiva al comienzo de nuestros ficheros de código (para evitar que
el compilador encuentre tipos y funciones no definidas):

#include

E/S de caracteres
Al nivel más bajo, las operaciones de entrada/salida se realizan con bytes,
si bien resulta engorroso tener que programar a este nivel:
getchar
La función getchar devuelve el siguiente carácter leído desde el teclado.putchar
Muestra un carácter a través del dispositivo de salida estándar
(la pantalla, generalmente).

NOTA: La mayoría de los sistemas operativos utilizan buffers para
gestionar las operaciones de entrada/salida, por lo que no se leerá un
carácter hasta que el usuario introduzca un retorno de carro y,
posiblemente, no se mostrará nada por pantalla hasta que se tenga
una línea completapor mostrar.

Ejemplo: Contar el número de caracteres de un fichero

#include
int main ()
{
int c = 0;
while (getchar() != EOF)
c ++;
printf("%d\n", c);
return 0;
}

Ejemplo: Poner un texto en mayúsculas

#include
#include

/* Definición de toupper */
/* getchar, putchar, EOF */

int main ()
{
int ch;
while ((ch = getchar()) != EOF)
putchar(toupper(ch));
return 0;
}NOTA: Para indicar el final de un fichero cuando se están introduciendo los
datos desde el teclado hay que escribir CONTROL+Z en Windows
(CONTROL+D en UNIX/Linux).

E/S con formato
La biblioteca estándar de C incluye dos funciones que nos facilitan un
control preciso sobre las operaciones de entrada y salida:
printf
Nos permite especificar el formato en que queremos mostrar datos porpantalla
Parámetros:

Cadena de formato (cómo se visualizan los datos)
Lista de valores (datos que se visualizan)

scanf
Permite leer datos con formato desde el teclado.
Parámetros:

Cadena de formato (cómo se introducen los datos)
Lista de punteros (dónde se almacenan los datos)

Cadena de formato
%[flag][ancho][.prec][modificador][tipo]
Tipo:

%c
%s
%d
%x
%f

Carácter (char)Cadena de caracteres (string)
Número entero (decimal)
Número entero (en hexadecimal)
Número real (float)

Modificador:

%ld Número entero (long int)
%lf Número real (double)
%Lf Número real (long double)

[ancho] indica el número mínimo de caracteres que se utilizarán para
visualizar el dato (el espacio sobrante se rellena con espacios o con ceros).
[.prec] indica el número máximode dígitos/caracteres que se
mostrarán. Las cadenas de caracteres se truncan, los números reales se
redondean utilizando prec decimales.
[flag]: Por defecto, los datos se justifican a la derecha. Poniendo -, los
datos se justifican a la izquierda. Con + se indica que siempre queremos
visualizar el signo de un número (+ ó -).

E/S de líneas
Si no estamos interesados en el formato denuestros datos (o, simplemente,
no podemos predecir su formato de antemano), podemos leer y escribir líneas
completas de caracteres con otras dos funciones estándar:
gets (cadena)
Lee una línea completa
(hasta que se alcanza un retorno de carro [\n] o el final del fichero [EOF]).
NOTAS:
- gets devuelve NULL cuando se llega al final de la entrada.
- gets no comprueba la longitud de la cadena deentrada, por lo que
siempre utilizaremos la función fgets, que sí lo hace.
puts (cadena)
Escribe una línea de texto y le añade un retorno de carro al final.

Ejemplo: Doble espaciado
#include
int main ()
{
char line[256]; /* ¿Suficientemente grande? */

while ( gets(line) != NULL) {
puts(line);
printf("\n");
}
return 0;
}
NOTA: Se pueden mezclar libremente las operaciones
de E/S...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Palabras ansi-c
  • Manual de ansi c
  • S C
  • Uso de la c, s y c
  • c y a y c de s
  • Operaciones En C++
  • Operadores De C++
  • Operadores En C++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS