Next: 13. Características avanzadas de C Up: Índice
Previous: 12.3. Algunas librerías y funciones importantes en ANSI C
12.4. Funciones de entrada/salida más importantes
Los ficheros estandar definidos en todo sistema C son:
stdin (entrada estandar, asociado al teclado)
stdout (salida estandar, asociado a la pantalla)
stderr (error estandar, asociado a la pantalla)
stdaux (auxiliar estandar)
stdprn (impresora estandar)
- putchar(char c)
Función de salida de carácter. Imprime el carácter c por la salida estándar.
- char getchar(void)
Entrada estándar de carácter. Obtiene un carácter de la entrada estándar y este es el valor que devuelve la función.
- int printf(const char *format, ...)
Imprime por la salida estándar una secuencia de caracteres cuya estructura está definida en la string format. Se permite dar salida a cualquier tipo de dato predefinido. La string format tiene la estructura de una string normal pero admite además caracteres de conversión (%) para indicar qué tipo de dato se ha de imprimir.
La estructura de una cadena de formato es:%[flags][.width][.prec][F|N|h|l]type
donde type es un caracter de conversión. El campo flag afecta al tipo de justificación; width a la anchura utilizada para imprimir; .prec a la precisión a la hora de escribir números en coma flotante. El último campo opcional afecta a la interpretación del argumento.
%c Caracter
%d Entero decimal
%e Flotante se representa con exponente
%f Flotante se representa sin exponente
%g Menor entre %e y %f
%o Entero octal, sin el cero inicial
%u Entero decimal sin signo
%x Entero representado en hexa sin 0x
%s Strings (cadenas)
Figura 25 Caracteres de conversión
- int scanf(const char *format, ...)
Es el equivalente a printf para la entrada estándar de datos de forma estructurada. En la cadena de formato se pueden poner todos los caracteres de conversión (%) de la tabla anterior.
Además admite %[cadena], donde se acepta cualquier cadena formada por elementos pertenecientes a cadena, o si la cadena comienza con '^', los no pertenecientes.
- FILE *fopen(const char *filename,const char *mode)
Abre un fichero en alto nivel. filename es el nombre del fichero y mode indica el modo de apertura del fichero, en la Figura 26 se indican los valores posibles. Retorna un puntero al descriptor del fichero (FILE).
"r" Abrir un archivo existente solo para lectura
"w" Abrir un archivo solo para escritura
"a" Abrir un archivo para añadir. Si no existe se crea uno
"r+" Abrir un archivo existente para lectura y escritura
"w+" Abrir un archivo nuevo para lectura y escritura
"a+" Abrir un archivo nuevo para leer y añadir
Figura 26 Modos de apertura de un fichero#include <stdio.h>
- int fclose(FILE *fp)
Cierra un fichero cuyo puntero al descriptor es fp.
- int fprintf(FILE *fp,const char *format, ...)
Escribe en el fichero descrito por fp datos con el formato indicado por format.
- int fscanf(FILE *fp,const char *format, ...)
Lee del fichero descrito por fp. Tanto esta llamada como la anterior son las equivalentes de printf y scanf que operan sobre ficheros.int main(void) {
FILE *fp;
char a;
int b, c;fp = fopen("fichero.txt", "r+");
if (fp == NULL) {
printf("ERROR");
exit(-1);
}
fscanf(fp, "%c %d, %d", &a, &b, &c);
fclose(fp);
return 0;
}
Figura 27 Lectura de datos de un fichero
Next: 13. Características avanzadas de C Up: Índice
Previous: 12.3. Algunas librerías y funciones importantes en ANSI C
Última modificación: 26/4/1999
Copyright © 1999, F. de Sande - Centro Superior de Informática, Universidad de La Laguna.
All rights reserved.