INFORMATICA V ISC Emanuel Lira Lozada Nombre Librerías del lenguaje C Las librerías estándar de C (también conocidas como libc) son una recopilación de ficheros cabecera y librerías con rutinas que implementan operaciones comunes, como las de entrada salida o el tratamiento de cadenas. A diferencia de otros lenguajes como COBOL, FORTRAN, o PL/I, C no incorpora palabras clave para estas tareas, por lo que prácticamente todo programa implementado en C se basa en la librería estándar para funcionar. <stdio.h> Significa "standard input-output header" (cabecera estandar E/S), es en la librería estándar del lenguaje de programación C el archivo de cabecera que contiene las definiciones de macros, las constantes, las declaraciones de funciones y la definición de tipos usados por varias operaciones estándar de entrada y salida. Nombre Fclose Fopen,freopen, fdopen Remove Rename Rewind tmpfile Clearerr,feof, ferror,fflush fgetpos Fgetc Fgets Fputc Fputs Ftell Fseek Fsetpos Fread Fwrite getc Getchar Gets Printf,fprintf, sprintf, snprintf Vprintf Perror Putc Putchar, fputchar Scanf, fscanf, sscanf Descripción Cierra un fichero a través de su puntero Abre un fichero para lectura, para escritura/reescritura o para adición Elimina un fichero Cambia al fichero de nombre Crea y abre un fichero temporal que es borrado cuando cerramos con la función fclose() Devuelve la posición actual del fichero Devuelve un carácter de un fichero Consigue una cadena de caracteres de un fichero Escribe un carácter en un fichero Escribe una cadena de caracteres en un fichero Devuelve la posición actual del fichero como número de bytes Sitúa el puntero de un fichero en una posición aleatoria Cambia la posición actual de un fichero Lee diferentes tamaños de datos de un fichero Devuelve un carácter desde un fichero Igual que getc Lee caracteres de entrada hasta que encuentra un salto de línea, y los almacena en un único argumento. Usados para imprimir salidas de datos También utilizado para imprimir salidas Escribe un mensaje de error a stderr Devuelve un carácter de un fichero Igual que putc(stdout) Utilizado para introducir entradas. INFORMATICA V ISC Emanuel Lira Lozada Vfscanf,vscanf, También utilizado para introducir entradas. vsscanf Setbuf setvbuf Imprime una de cadena de caracteres tmpnam ungetc puts Scanf (scan-format, escanear con formato) La función scanf, en realidad representa a una familia de funciones que escanean una entrada de datos con formato y cargan el resultado en los argumentos que se pasan por referencia a dicha función o funciones: • • • La función scanf() lee los datos de entrada en el stdin (flujo de entrada estándar). La función fscanf() (file-scanf) lee en un flujo de entrada dado, por lo general un fichero (file) abierto para lectura. La función sscanf() (string-scanf) obtiene la entrada a escanear de una cadena de caracteres dada (string). Todas ellas leen octetos, los interpretan según un formato, y almacenan los resultados en sus argumentos. Cada uno cuenta con varios argumentos: por un lado, un formato de la secuencia del control (se describe más abajo), por otro, un sistema de argumentos del indicador que señala dónde la entrada convertida debe ser almacenada. El resultado es indefinido si hay escasos argumentos para dar formato. Si se agota el formato mientras que sigue habiendo las argumentos, los argumentos sobrantes son evaluados pero no procesados de ninguna otra manera. Printf (print-format, imprimir con formato) Numerosos lenguajes de programación implementan una función printf, para mostrar una cadena con formato. Ésta, originada del lenguaje de programación C, donde tiene un prototipo similar al siguiente: int printf(const char* formato,...) La cadena constante formato provee una descripción de la salida, con placeholders marcados por caracteres de escape "%", para especificar la localización relativa y el tipo de salida que la función debe producir. Por ejemplo en C: printf("Color %s, numero1 %d, numero2 %05d, hex %x, real %5.2f.\n", "rojo", 12345, 89, 255, 3.14); imprimirá la siguiente línea (incluyendo el caracter de nueva línea \n): Color rojo, numero1 12345, numero2 00089, hex ff, real 3.14. La función printf retorna el número de caracteres impresos, o un valor negativo si ocurre un error. INFORMATICA V ISC Emanuel Lira Lozada stdlib.h (std-lib: standar library o librería estándar) Stdlib.h, es el archivo de cabecera de la librería estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para gestión de memoria dinámica, control de procesos y otras. Nombre atof atoi atol strtod strtol strtoul rand srand malloc, calloc, realloc free abort atexit callback exit getenv system bsearch qsort abs, labs div, ldiv Descripción (ascii to float) cadena de caracteres a coma flotante (ascii to integer) cadena de caracteres a entero (ascii to long) cadena de caracteres a entero tamaño largo (string to double) cadena de caracteres a coma flotante tamaño doble (string to long) cadena de caracteres a entero largo (string to unsigned long) cadena de caracteres a entero largo sin signo (positivo) Generación de números pseudo-aleatorios Genera un número pseudo-aleatorio Establece la semilla para el generador de números pseudo-aleatorios Gestión de memoria dinámica Reservan memoria dinámica del heap (montón o montículo) Liberan memoria devolviéndola al heap Control de procesos terminar ejecución anormalmente registrar una función para la salida del programa terminar ejecución del programa recuperar una variable de entorno ejecutar un comando externo Ordenación y búsqueda búsqueda binaria en un array ordena un vector usando Quicksort valor absoluto división entera o euclidiana Función atoi ANSI C int atoi(const char *numPtr); Convierte la porción inicial de la cadena apuntada por numPtr a una representación de int. La función atoi retorna el valor convertido. Ejemplo: #include <stdio.h> #include <stdlib.h> int main() { char numPtr[5] = "1234"; printf( "Convirtiendo la cadena %s en un numero: %d\n", numPtr, atoi(numPtr) ); return 0; } INFORMATICA V ISC Emanuel Lira Lozada Función exit ANSI C void exit(int estado); Ocasiona una terminación normal del programa. Si se ejecuta más de una llamada de la función exit, el comportamiento no está definido. Primeramente, todas las funciones registradas por la función atexit son llamadas, en el orden inverso de sus registros. Cada función es llamada tantas veces como fue resgistrada. Acto seguido, todos los streams abiertos con datos almacenados aún sin escribir son despejados, todos los streams abiertos son cerrados, y todos los ficheros creados por la función tmpfile son borrados. Finalmente, el control es regresado al entorno local. Si el valor de estado es cero o EXIT_SUCCESS, una forma definida según la implementación del estado "terminación con éxito" es retornada. Si el valor de estado es EXIT_FAILURE, una forma definida según la implementación del estado "terminación sin éxito" es retornada. De lo contrario el estado retornado está definido según la implementación. La función exit no puede regresar a su invocador. La función exit no retorna ningún valor. Ejemplo: #include <stdio.h> #include <stdlib.h> int main( void ) { puts( "Introduzca un caracter. Para salir, escriba q:" ); while( 1 ){ if( toupper(getchar()) == 'Q' ) exit(0); } return 0; } Librería conio Borland ® C Contiene los prototipos de las funciones, macros, y constantes para preparar y manipular la consola en modo texto en el entorno de MS-DOS®. Función getche Borland® C int getche(void); Lee un solo carácter directamente desde el teclado, mostrando tal carácter en pantalla, a través de la BIOS o por directamente a vídeo.La función getche() retorna el carácter leído del teclado. Ejemplo: #include <conio.h> int main() { char c; c = getche(); getch(); return 0; } INFORMATICA V ISC Emanuel Lira Lozada Función gotoxy Borland® C void gotoxy(int x, int y); Mueve el cursor de la ventana de texto a la posición según las coordenadas especificadas por los argumentos x e y. Si las coordenadas no son válidas entonces la llamada a la función gotoxy es ignorada. Los argumentos no pueden ser 0. Ejemplo: #include <conio.h> int main() { gotoxy( 5, 20 ); cprintf( "3ª línea" ); gotoxy( 20, 1 ); cprintf( "4ª línea" ); gotoxy( 1, 15 ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; } Función clrscr Borland® C void clrscr(void); Esta función despeja la ventana de texto actual y coloca el cursor en la esquina superior izquierda. La función clrscr no retorna ningún valor. Ejemplo: #include <conio.h> #include <stdio.h> int main() { printf( "Ejemplo de \"clrscr\"\n\n" ); printf( "Pulsa una tecla para continuar...\n" ); clrscr(); getch(); return 0; } Función getch Borland® C int getch(void); Lee un solo carácter directamente desde el teclado, sin mostrar tal carácter en pantalla. La función getch retorna el carácter leído desde el teclado. Ejemplo: #include <conio.h> int main() { cprintf( "Pulsa una tecla: " ); cprintf( "\'%c\'\r\n", getch() ); getch(); return 0; }