5.5 Librería clásica
§1 Introducción
Como señalamos en el capítulo introductorio a la Librería Estándar ( 5), además de otras nuevas, cuyo diseño e importancia cambian drásticamente la filosofía del lenguaje, C++ incluye la totalidad de funciones de la primitiva librería estándar C. A esta librería, mantenida por compatibilidad, la denominamos Librería clásica. En la página adjunta se muestra una relación de estas funciones ( 5.5a).
Tradicionalmente los ficheros de cabecera C terminan en .h, y en la librería C++ mantenían los mismos nombres:
<assert.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdio.h> <stdlib.h> <string.h> <time.h> |
Sin embargo, el Estándar de 1998 "desaconseja" el uso de los nombres antiguos, de forma que es probable que
desaparezcan totalmente en futuras revisiones, y ha dispuesto que las utilidades del Estándar C se agrupen e 18 ficheros
cuya denominación es igual a la antigua pero eliminando el sufijo .h y añadiendo el prefijo c.
Por ejemplo, la librería <float.h> será sustituida por <cfloat>. Con estos cambios las
librerías clásicas quedan englobadas en los siguientes ficheros:
<cassert> <ciso646> <csetjmp> <cstdio> <ctime> <cctype> <climits> <csignal> <cstdlib> <cwchar> <cerrno> <clocale> <cstdarg> <cstring> <cwctype> <cfloat> <cmath> <cstddef> |
§2 Resumen
En la tabla adjunta se muestra un resumen del contenido de los ficheros de cabecera de la librería clásica.
Ficheros | Funcionalidad/funciones |
<cassert> | . |
<cctype> | Rutinas de clasificación de caracteres estándar. |
<cerrno> | . |
<cfloat> | Descripción de propiedades dependientes de la implementación ( 1.2.1) que afectan a los tipos fundamentales. |
<ciso646> | . |
<climits> | Descripción de propiedades dependientes de la implementación que afectan a los tipos fundamentales. |
<clocale> | Rutinas que controlan aspectos de la internacionalización al estilo clásico ( 5.2). |
<cmath> | Operaciones matemáticas estándar: acos, cos, fmod, modf, tan, asin, cosh, frexp, pow, tanh, atan, exp, ldexp, sin, atan2, fabs, log, sinh, ceil, floor, log10, sqrt. |
<csetjmp> | Manejo de las rutinas de limpieza de pila al estilo clásico. |
<csignal> | . |
<cstdarg> | Lista de funciones con número variable de argumentos. |
<cstddef> | Descripción de tipos. Su contenido es el mismo que <stddef.h> de la librería C tradicional, con un cambio que afecta a la definición del puntero nulo NULL. |
<cstdio> | E/S al estilo clásico. Algoritmos printf(). |
<cstdlib> | Algoritmos de clasificación de caracteres; comienzo y terminación ( 1.5). Operaciones matemáticas abs, div, labs, ldiv, srand, rand(), bsearch(), qsort(), atof(), atoi(). |
<cstring> | Utilidades para manejo de cadenas alfanuméricas. |
<ctime> | Gestión de fecha y hora ( 5.5.1). |
<cwchar> | Utilidades para manejo de cadenas alfanuméricas de caracteres anchos. Algoritmos printf() para caracteres anchos. |
<cwctype> | Rutinas de clasificación de caracteres anchos ( ). |
En el presente capítulo comentaremos las utilidades de esta librería que son de uso más frecuente.