Está en la página 1de 63

AFIRMAR.

H
El archivo de encabezado afirmar.h de la Biblioteca estándar de C proporciona
una macro llamada aseveración que se puede usar para verificar las
suposiciones hechas por el programa e imprimir un mensaje de diagnóstico si
esta suposición es falsa.
La macro se define aserción se refiere a otro macro NDEBUG que no es una
parte de <assert.h>. Si NDEBUG se define como un nombre de macro en el
archivo de origen, en el punto donde se incluye <assert.h>, la aserción macro se
define de la siguiente manera -
#define assert(ignore) ((void)0)

Macros de biblioteca
La siguiente es la única función definida en el encabezado afirmar. H -

No Función descriptiva
Señor.

1 afirmación nula (expresión int)

Esto es en realidad una macro y no una función, que se puede utilizar para
agregar diagnósticos en su programa C.
CTYPE.H
El archivo de encabezado ctype.h de la Biblioteca estándar de C declara varias
funciones que son útiles para probar y asignar caracteres.
Todas las funciones aceptan int como parámetro, cuyo valor debe ser EOF o
representable como un carácter sin signo.
Todas las funciones devuelven valores distintos de cero (verdadero) si el
argumento c satisface la condición descrita, y cero (falso) si no.

Funciones de biblioteca
Las siguientes son las funciones definidas en el encabezado ctype.h -

No Función descriptiva
Señor.

1 int isalnum (int c)

Esta función verifica si el carácter pasado es alfanumérico.

2 int isalpha (int c)


Esta función verifica si el carácter pasado es alfabético.

3 int iscntrl (int c)


Esta función verifica si el carácter pasado es un carácter de control.

44 int isdigit (int c)


Esta función verifica si el carácter pasado es un dígito decimal.

55 int isgraph (int c)


Esta función verifica si el carácter pasado tiene una representación gráfica usando
la configuración regional.

66 int islower (int c)


Esta función verifica si el carácter pasado es letra minúscula.

77 int isprint (int c)


Esta función verifica si el carácter pasado es imprimible.

8 int ispunct (int c)


Esta función verifica si el carácter pasado es un carácter de puntuación.

99 int isspace (int c)


Esta función verifica si el carácter pasado es espacio en blanco.

10 int isupper (int c)


Esta función verifica si el carácter pasado es una letra mayúscula.

11 int isxdigit (int c)


Esta función verifica si el carácter pasado es un dígito hexadecimal.

La biblioteca también contiene dos funciones de conversión que aceptan y


devuelven un "int".

No Función descriptiva
Señor.

1 int tolower (int c)

Esta función convierte letras mayúsculas a minúsculas.

2 int toupper (int c)


Esta función convierte letras minúsculas a mayúsculas.

Clases de personajes
No Clase de personaje y descripción
Señor.

1
Dígitos
Este es un conjunto de números enteros {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.

2
Dígitos hexadecimales
Este es el conjunto de {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}.

3
Letras minusculas
Este es un conjunto de letras minúsculas {abcdefghijklmnopqrstu vwxyz}.

44
Letras mayúsculas
Este es un conjunto de letras mayúsculas {ABCDEFGHIJKLMNOPQRSTU
VWXYZ}.

55
Letras
Este es un conjunto de letras minúsculas y mayúsculas.

66
Caracteres alfanuméricos
Este es un conjunto de dígitos, letras minúsculas y letras mayúsculas.

77
Caracteres de puntuación
Este es un conjunto de! "# $% & '() * +, -. /:; <=>? @ [\] ^ _` {|} ~

8
Personajes gráficos
Este es un conjunto de caracteres alfanuméricos y caracteres de puntuación.

99
Personajes espaciales
Este es un conjunto de tabulación, nueva línea, tabulación vertical, avance de
formulario, retorno de carro y espacio.

10
Personajes imprimibles
Este es un conjunto de caracteres alfanuméricos, caracteres de puntuación y
caracteres espaciales.

11
Personajes de control
En ASCII, estos caracteres tienen códigos octales 000 a 037 y 177 (DEL).

12
Personajes en blanco
Estos son espacios y pestañas.

13
Caracteres alfabéticos
Este es un conjunto de letras minúsculas y mayúsculas.
ERNO.H
El archivo de encabezado errno.h de la Biblioteca estándar de C define la
variable entera errno , que se establece mediante llamadas al sistema y algunas
funciones de la biblioteca en caso de error para indicar qué salió mal. Esta macro
se expande a un valor l modificable de tipo int, por lo tanto, puede ser leída y
modificada por un programa.
El error se establece en cero al inicio del programa. Ciertas funciones de la
biblioteca estándar de C modifican su valor a otro que no sea cero para señalar
algunos tipos de error. También puede modificar su valor o restablecer a cero a
su conveniencia.
El archivo de encabezado errno.h también define una lista de macros que indican
diferentes códigos de error, que se expandirán a expresiones constantes enteras
con el tipo int .

Macros de biblioteca
Las siguientes son las macros definidas en el encabezado errno.h -

No Macro y descripción
Señor.

1 extern int errno

Esta es la macro establecida por las llamadas del sistema y algunas funciones de
la biblioteca en caso de un error para indicar qué salió mal.

2 Error de dominio EDOM


Esta macro representa un error de dominio, que ocurre si un argumento de
entrada está fuera del dominio, sobre el cual se define la función matemática y
errno se establece en EDOM.

3 ERANGE Error de rango


Esta macro representa un error de rango, que ocurre si un argumento de entrada
está fuera del rango, sobre el cual se define la función matemática y errno se
establece en ERANGE.
FLOAT.H
El archivo de encabezado float.h de la Biblioteca estándar de C contiene un
conjunto de varias constantes dependientes de la plataforma relacionadas con
valores de coma flotante. Estas constantes son propuestas por ANSI C. Permiten
hacer programas más portátiles. Antes de verificar todas las constantes, es bueno
entender que el número de coma flotante se compone de los siguientes cuatro
elementos:

No Componente y descripción del componente


Señor.

1
S
signo (+/-)

2
si
base o raíz de la representación del exponente, 2 para binario, 10 para decimal,
16 para hexadecimal, etc.

3
mi
exponente, un número entero entre un mínimo e min y un máximo e max .

44
pags
precisión, el número de dígitos de base-b en el significado.

Basado en los 4 componentes anteriores, un punto flotante tendrá su valor de la


siguiente manera:
floating-point = ( S ) p x be

or

floating-point = (+/-) precision x baseexponent

Macros de biblioteca
Los siguientes valores son específicos de la implementación y se definen con la
directiva #define, pero estos valores pueden no ser inferiores a los que se
proporcionan aquí. Tenga en cuenta que, en todos los casos, FLT se refiere al
tipo flotante , DBL se refiere al doble y LDBL se refiere al doble largo .
No Macro y descripción
Señor.

1
FLT_ROUNDS
Define el modo de redondeo para la adición de punto flotante y puede tener
cualquiera de los siguientes valores:

 -1 - indeterminable
 0 - hacia cero
 1 - al más cercano
 2 - hacia el infinito positivo
 3 - hacia el infinito negativo

2
FLT_RADIX 2
Esto define la representación de la base de la base del exponente. Una base-2 es
binaria, la base-10 es la representación decimal normal, la base-16 es Hex.

3
FLT_MANT_DIG
DBL_MANT_DIG
LDBL_MANT_DIG
Estas macros definen el número de dígitos en el número (en la base FLT_RADIX).

44
FLT_DIG 6
DBL_DIG 10
LDBL_DIG 10
Estas macros definen el número máximo de dígitos decimales (base-10) que se
pueden representar sin cambios después del redondeo.

55
FLT_MIN_EXP
DBL_MIN_EXP
LDBL_MIN_EXP
Estas macros definen el valor entero negativo mínimo para un exponente en la
base FLT_RADIX.

66
FLT_MIN_10_EXP -37
DBL_MIN_10_EXP -37
LDBL_MIN_10_EXP -37
Estas macros definen el valor entero negativo mínimo para un exponente en base
10.

77
FLT_MAX_EXP
DBL_MAX_EXP
LDBL_MAX_EXP
Estas macros definen el valor entero máximo para un exponente en la base
FLT_RADIX.

8
FLT_MAX_10_EXP +37
DBL_MAX_10_EXP +37
LDBL_MAX_10_EXP +37
Estas macros definen el valor entero máximo para un exponente en base 10.

99
FLT_MAX 1E + 37
DBL_MAX 1E + 37
LDBL_MAX 1E + 37
Estas macros definen el valor máximo de punto flotante finito.

10
FLT_EPSILON 1E-5
DBL_EPSILON 1E-9
LDBL_EPSILON 1E-9
Estas macros definen el dígito menos significativo representable.

11
FLT_MIN 1E-37
DBL_MIN 1E-37
LDBL_MIN 1E-37
Estas macros definen los valores mínimos de coma flotante.

Ejemplo
El siguiente ejemplo muestra el uso de algunas de las constantes definidas en el
archivo float.h.
#include <stdio.h>
#include <float.h>

int main () {
printf("The maximum value of float = %.10e\n", FLT_MAX);
printf("The minimum value of float = %.10e\n", FLT_MIN);

printf("The number of digits in the number = %.10e\n",


FLT_MANT_DIG);
}
Vamos a compilar y ejecutar el programa anterior que producirá el siguiente
resultado:
The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312
LIMITS.H
El encabezado limits.h determina varias propiedades de los distintos tipos de
variables. Las macros definidas en este encabezado limitan los valores de varios
tipos de variables como char, int y long.
Estos límites especifican que una variable no puede almacenar ningún valor más
allá de estos límites, por ejemplo, un carácter sin signo puede almacenar hasta
un valor máximo de 255.

Macros de biblioteca
Los siguientes valores son específicos de la implementación y se definen con la
directiva #define, pero estos valores pueden no ser inferiores a los que se
proporcionan aquí.

Macro Valor Descripción

CHAR_BIT 8 Define el número de bits en un byte.

SCHAR_MIN -128 Define el valor mínimo para un carácter


firmado.

SCHAR_MAX +127 Define el valor máximo para un carácter


firmado.

UCHAR_MAX 255 Define el valor máximo para un carácter sin


signo.

CHAR_MIN -128 Define el valor mínimo para el tipo char y su


valor será igual a SCHAR_MIN si char
representa valores negativos, de lo contrario
cero.

CHAR_MAX +127 Define el valor para el tipo char y su valor será


igual a SCHAR_MAX si char representa
valores negativos, de lo contrario
UCHAR_MAX.
MB_LEN_MAX dieciséis Define el número máximo de bytes en un
carácter de varios bytes.

SHRT_MIN -32768 Define el valor mínimo para un int corto.

SHRT_MAX +32767 Define el valor máximo para un int corto.

USHRT_MAX 65535 Define el valor máximo para un int corto sin


signo.

INT_MIN -2147483648 Define el valor mínimo para un int.

INT_MAX +2147483647 Define el valor máximo para un int.

UINT_MAX 4294967295 Define el valor máximo para un int sin signo.

LONG_MIN -9223372036854775808 Define el valor mínimo para un int largo.

LONG_MAX +9223372036854775807 Define el valor máximo para un int largo.

ULONG_MAX 18446744073709551615 Define el valor máximo para un int largo sin


signo.

Ejemplo
El siguiente ejemplo muestra el uso de algunas de las constantes definidas en
el archivo limits.h .
Demo en vivo

#include <stdio.h>
#include <limits.h>

int main() {
printf("The number of bits in a byte %d\n", CHAR_BIT);

printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);


printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
printf("The maximum value of UNSIGNED CHAR = %d\n",
UCHAR_MAX);

printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);


printf("The maximum value of SHORT INT = %d\n", SHRT_MAX);

printf("The minimum value of INT = %d\n", INT_MIN);


printf("The maximum value of INT = %d\n", INT_MAX);

printf("The minimum value of CHAR = %d\n", CHAR_MIN);


printf("The maximum value of CHAR = %d\n", CHAR_MAX);

printf("The minimum value of LONG = %ld\n", LONG_MIN);


printf("The maximum value of LONG = %ld\n", LONG_MAX);

return(0);
}
Vamos a compilar y ejecutar el programa anterior que producirá el siguiente
resultado:
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807
LOCALE.H
El encabezado locale.h define la configuración específica de la ubicación, como
formatos de fecha y símbolos de moneda. Encontrará varias macros definidas
junto con una estructura importante struct lconv y dos funciones importantes
enumeradas a continuación.

Macros de biblioteca
Las siguientes son las macros definidas en el encabezado y estas macros se
utilizarán en dos funciones que se enumeran a continuación:

No Macro y descripción
Señor.

1
LC_ALL
Establece todo.

2
LC_COLLATE
Afecta las funciones strcoll y strxfrm.

3
LC_CTYPE
Afecta a todas las funciones de los personajes.

44
LC_MONETARY
Afecta la información monetaria proporcionada por la función localeconv.

55
LC_NUMERIC
Afecta el formato de punto decimal y la información proporcionada por la función
localeconv.

66
LC_TIME
Afecta la función de strftime.

Funciones de biblioteca
Las siguientes son las funciones definidas en el encabezado locale.h -
No Función descriptiva
Señor.

1 char * setlocale (int categoría, const char * locale)

Establece o lee información dependiente de la ubicación.

2 struct lconv * localeconv (void)

Establece o lee información dependiente de la ubicación.

Estructura de la biblioteca
typedef struct {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
} lconv
A continuación se muestra la descripción de cada uno de los campos:

No Campo Descripción
Señor.

1
punto decimal
Carácter de punto decimal utilizado para valores no monetarios.
2
miles_sep
Miles colocan caracteres separadores utilizados para valores no monetarios.

3
agrupamiento
Una cadena que indica el tamaño de cada grupo de dígitos en cantidades no
monetarias. Cada carácter representa un valor entero, que designa el número de
dígitos en el grupo actual. Un valor de 0 significa que el valor anterior se utilizará
para el resto de los grupos.

44
int_curr_symbol
Es una cadena de los símbolos de moneda internacional utilizados. Los primeros
tres caracteres son los especificados por ISO 4217: 1987 y el cuarto es el
carácter, que separa el símbolo de la moneda de la cantidad monetaria.

55
símbolo de moneda
El símbolo local utilizado para la moneda.

66
mon_decimal_point
El carácter de punto decimal utilizado para valores monetarios.

77
mon_thousands_sep
El carácter de agrupación de miles de lugares utilizado para valores monetarios.

8
mon_grouping
Una cadena cuyos elementos definen el tamaño de la agrupación de dígitos en
valores monetarios. Cada carácter representa un valor entero que designa el
número de dígitos en el grupo actual. Un valor de 0 significa que el valor anterior
se utilizará para el resto de los grupos.

99
signo positivo
El carácter utilizado para valores monetarios positivos.

10
signo_negativo
El carácter utilizado para valores monetarios negativos.
11
int_frac_digits
Número de dígitos para mostrar después del punto decimal en valores
monetarios internacionales.

12
frac_digits
Número de dígitos para mostrar después del punto decimal en valores
monetarios.

13
p_cs_precedes
Si es igual a 1, el símbolo de moneda aparece antes de un valor monetario
positivo. Si es igual a 0, el símbolo de moneda aparece después de un valor
monetario positivo.

14
p_sep_by_space
Si es igual a 1, entonces el símbolo de moneda está separado por un espacio de
un valor monetario positivo. Si es igual a 0, entonces no hay espacio entre el
símbolo de moneda y un valor monetario positivo.

15
n_cs_precedes
Si es igual a 1, entonces el símbolo de moneda precede a un valor monetario
negativo. Si es igual a 0, entonces el símbolo de moneda tiene éxito un valor
monetario negativo.

dieciséis
n_sep_by_space
Si es igual a 1, entonces el símbolo de moneda está separado por un espacio de
un valor monetario negativo. Si es igual a 0, entonces no hay espacio entre el
símbolo de moneda y un valor monetario negativo.

17
p_sign_posn
Representa la posición del signo positivo en un valor monetario positivo.

18 años
n_sign_posn
Representa la posición del signo negativo en un valor monetario negativo.

Los siguientes valores se utilizan para p_sign_posn y n_sign_posn :

Valor Descripción
00 Los paréntesis encapsulan el valor y el símbolo de moneda.

1 El signo precede al valor y al símbolo de moneda.

2 El signo tiene éxito el valor y el símbolo de moneda.

3 El signo precede inmediatamente al valor y al símbolo de moneda.

44 El signo sucede inmediatamente al valor y al símbolo de moneda.


MATH.H
El encabezado math.h define varias funciones matemáticas y una macro. Todas
las funciones disponibles en esta biblioteca toman el doble como argumento y
devuelven el doble como resultado.

Macros de biblioteca
Solo hay una macro definida en esta biblioteca:

No Macro y descripción
Señor.

1
ENORME_VAL
Esta macro se usa cuando el resultado de una función puede no ser representable
como un número de coma flotante. Si la magnitud del resultado correcto es
demasiado grande para ser representada, la función establece errno en ERANGE
para indicar un error de rango y devuelve un valor particular muy grande
nombrado por la macro HUGE_VAL o su negación (- HUGE_VAL).
Si la magnitud del resultado es demasiado pequeña, se devuelve un valor de
cero. En este caso, errno podría o no estar configurado en ERANGE.

Funciones de biblioteca
Las siguientes son las funciones definidas en el encabezado math.h -

No Función descriptiva
Señor.

1 doble acos (doble x)

Devuelve el arco coseno de x en radianes.

2 doble asin (doble x)

Devuelve el arco seno de x en radianes.

3 doble atan (doble x)

Devuelve el arco tangente de x en radianes.

44 doble atan2 (doble y, doble x)


Devuelve el arco tangente en radianes de y / x según los signos de ambos
valores para determinar el cuadrante correcto.

55 doble cos (doble x)

Devuelve el coseno de un ángulo en radianes x.

66 doble cosh (doble x)

Devuelve el coseno hiperbólico de x.

77 doble pecado (doble x)

Devuelve el seno de un ángulo en radianes x.

8 doble sinh (doble x)

Devuelve el seno hiperbólico de x.

99 doble tanh (doble x)

Devuelve la tangente hiperbólica de x.

10 doble exp (doble x)

Devuelve el valor de e elevado a la potencia x.

11 doble frexp (doble x, int * exponente)

El valor devuelto es la mantisa y el entero al que apunta el exponente es el


exponente. El valor resultante es x = mantisa * 2 ^ exponente.

12 doble ldexp (doble x, int exponente)

Devuelve x multiplicado por 2 elevado a la potencia del exponente.

13 doble registro (doble x)

Devuelve el logaritmo natural (logaritmo base-e) de x .

14 doble log10 (doble x)

Devuelve el logaritmo común (logaritmo de base 10) de x .


15 doble modf (doble x, doble * entero)

El valor devuelto es el componente de fracción (parte después del decimal) y


establece un entero en el componente entero.

dieciséis doble pow (doble x, doble y)

Devuelve x elevado a la potencia de y .

17 doble sqrt (doble x)

Devuelve la raíz cuadrada de x .

18 años doble techo (doble x)

Devuelve el valor entero más pequeño mayor o igual que x .

19 fabs dobles (doble x)

Devuelve el valor absoluto de x .

20 doble piso (doble x)

Devuelve el valor entero más grande menor o igual que x .

21 doble fmod (doble x, doble y)

Devuelve el resto de x dividido por y .


SETJMP.H
El encabezado setjmp.h define la macro setjmp () , una función longjmp () y una
variable tipo jmp_buf , para evitar la llamada a la función normal y la disciplina de
retorno.

Variables de biblioteca
El siguiente es el tipo de variable definido en el encabezado setjmp.h -

No Variable y descripción
Señor.

1
jmp_buf
Este es un tipo de matriz utilizado para contener información para la
macro setjmp () y la función longjmp () .

Macros de biblioteca
Solo hay una macro definida en esta biblioteca:

No Macro y descripción
Señor.

1 int setjmp (entorno jmp_buf)

Esta macro guarda el entorno actual en el entorno variable para su uso posterior
por la función longjmp () . Si esta macro regresa directamente de la invocación de
macro, devuelve cero pero si regresa de una llamada a la función longjmp () , se
devuelve un valor distinto de cero.

Funciones de biblioteca
La siguiente es la única función definida en el encabezado setjmp.h -

No Función descriptiva
Señor.

1 void longjmp (entorno jmp_buf, valor int)

Esta función restaura el entorno guardado por la llamada más reciente a


la macro setjmp () en la misma invocación del programa con
el argumento jmp_buf correspondiente .
SIGNAL.H
El encabezado signal.h define un tipo de variable sig_atomic_t , dos llamadas a
funciones y varias macros para manejar diferentes señales informadas durante la
ejecución de un programa.

Variables de biblioteca
A continuación se muestra el tipo de variable definido en la señal de encabezado.
H-

No Variable y descripción
Señor.

1
sig_atomic_t
Este es de tipo int y se usa como una variable en un controlador de señal. Este es
un tipo integral de un objeto al que se puede acceder como una entidad atómica,
incluso en presencia de señales asincrónicas.

Macros de biblioteca
Las siguientes son las macros definidas en la señal de encabezado. Hy estas
macros se utilizarán en dos funciones que se enumeran a
continuación. Las macros SIG_ se utilizan con la función de señal para definir
funciones de señal.

No Macro y descripción
Señor.

1
SIG_DFL
Manejador de señal predeterminado.

2
SIG_ERR
Representa un error de señal.

3
SIG_IGN
Señal ignorar.

Las macros SIG se utilizan para representar un número de señal en las siguientes
condiciones:
No Macro y descripción
Señor.

1
SIGABRT
Terminación anormal del programa.

2
SIGFPE
Error de coma flotante como división por cero.

3
SIGILL
Operación ilegal.

44
SIGINT
Señal de interrupción como ctrl-C.

55
SIGSEGV
Acceso no válido al almacenamiento como violación de segmento.

66
SIGTERM
Solicitud de terminación.

Funciones de biblioteca
Las siguientes son las funciones definidas en la señal de encabezado. H -

No Función descriptiva
Señor.

1 void (* signal (int sig, void (* func) (int))) (int)

Esta función establece una función para manejar la señal, es decir, un controlador
de señal.

2 int raise (int sig)

Esta función hace que se genere señal sig . El argumento sig es compatible con
las macros SIG.
STDARG.H
El encabezado stdarg.h define un tipo variable va_list y tres macros que se
pueden usar para obtener los argumentos en una función cuando no se conoce el
número de argumentos, es decir, el número variable de argumentos.
Una función de argumentos variables se define con puntos suspensivos (, ...) al
final de la lista de parámetros.

Variables de biblioteca
A continuación se muestra el tipo de variable definido en el encabezado stdarg.h -

No Variable y descripción
Señor.

1
va_list
Este es un tipo adecuado para contener la información que necesitan las tres
macros va_start (), va_arg () y va_end () .

Macros de biblioteca
Las siguientes son las macros definidas en el encabezado stdarg.h -

No Macro y descripción
Señor.

1 void va_start (va_list ap, last_arg)

Esta macro inicializa una variable ap para ser utilizada con


las macros va_arg y va_end . El last_arg es el último argumento fija conocida de
ser pasado a la función es decir, el argumento antes de la elipsis.

2 type va_arg (va_list ap, type)

Esta macro recupera el siguiente argumento en la lista de parámetros de la


función con tipo de tipo .

3 nulo va_end (va_list ap)

Esta macro permite una función con argumentos variables que utiliza
la macro va_start para devolver. Si no se llama a va_end antes de regresar de la
función, el resultado no está definido.
STDDEF.H
El encabezado stddef.h define varios tipos de variables y macros. Muchas de
estas definiciones también aparecen en otros encabezados.

Variables de biblioteca
Los siguientes son los tipos de variables definidos en el encabezado stddef.h -

No Variable y descripción
Señor.

1
ptrdiff_t
Este es el tipo integral con signo y es el resultado de restar dos punteros.

2
tamaño_t
Este es el tipo integral sin signo y es el resultado de la palabra clave sizeof .

3
wchar_t
Este es un tipo integral del tamaño de una constante de caracteres anchos.

Macros de biblioteca
Las siguientes son las macros definidas en el encabezado stddef.h -

No Macro y descripción
Señor.

1 NULO

Esta macro es el valor de una constante de puntero nulo.

2 offsetof (tipo, miembro-designador)

Esto da como resultado un número entero constante de tipo size_t, que es el


desplazamiento en bytes de un miembro de la estructura desde el comienzo de la
estructura. El miembro es dado por el miembro-designador , y el nombre de la
estructura se da en tipo .
STDIO.H
El encabezado stdio.h define tres tipos de variables, varias macros y varias
funciones para realizar entradas y salidas.

Variables de biblioteca
Los siguientes son los tipos de variables definidos en el encabezado stdio.h -

No Variable y descripción
Señor.

1
tamaño_t
Este es el tipo integral sin signo y es el resultado de la palabra clave sizeof .

2
ARCHIVO
Este es un tipo de objeto adecuado para almacenar información para una
secuencia de archivos.

3
fpos_t
Este es un tipo de objeto adecuado para almacenar cualquier posición en un
archivo.

Macros de biblioteca
Las siguientes son las macros definidas en el encabezado stdio.h -

No Macro y descripción
Señor.

1
NULO
Esta macro es el valor de una constante de puntero nulo.

2
_IOFBF, _IOLBF y _IONBF
Estas son las macros que se expanden a expresiones constantes integrales con
valores distintos y adecuadas para el uso como tercer argumento de
la función setvbuf .
3
BUFSIZ
Esta macro es un número entero, que representa el tamaño del búfer utilizado por
la función setbuf .

44
EOF
Esta macro es un entero negativo, lo que indica que se ha alcanzado el final del
archivo.

55
FOPEN_MAX
Esta macro es un número entero, que representa el número máximo de archivos
que el sistema puede garantizar que se abran simultáneamente.

66
FILENAME_MAX
Esta macro es un número entero, que representa la longitud más larga de una
matriz de caracteres adecuada para contener el nombre de archivo más largo
posible. Si la implementación no impone ningún límite, este valor debería ser el
valor máximo recomendado.

77
L_tmpnam
Esta macro es un número entero, que representa la longitud más larga de una
matriz de caracteres adecuada para contener el nombre de archivo temporal más
largo posible creado por la función tmpnam .

8
SEEK_CUR, SEEK_END y SEEK_SET
Estas macros se usan en la función fseek para localizar diferentes posiciones en
un archivo.

99
TMP_MAX
Esta macro es el número máximo de nombres de archivo únicos que puede
generar la función tmpnam .

10
stderr, stdin y stdout
Estas macros son punteros a tipos de ARCHIVO que corresponden al error
estándar, la entrada estándar y las secuencias de salida estándar.

Funciones de biblioteca
Las siguientes son las funciones definidas en el encabezado stdio.h -
Siga la misma secuencia de funciones para una mejor comprensión y para hacer uso
de Inténtelo (compilador de línea) opción, porque el archivo creado en la primera función se
utilizará en las funciones siguientes.

No Función descriptiva
Señor.

1 int fclose (ARCHIVO * flujo)

Cierra la corriente. Todos los tampones están enjuagados.

2 limpiador vacío (ARCHIVO * flujo)

Borra los indicadores de fin de archivo y error para la secuencia dada.

3 int feof (ARCHIVO * flujo)

Prueba el indicador de fin de archivo para la secuencia dada.

44 int ferror (ARCHIVO * flujo)

Prueba el indicador de error para la secuencia dada.

55 int fflush (ARCHIVO * flujo)

Vacía el búfer de salida de una secuencia.

66 int fgetpos (ARCHIVO * stream, fpos_t * pos)

Obtiene la posición actual del archivo de la secuencia y lo escribe en pos.

77 FILE * fopen (const char * filename, const char * mode)

Abre el nombre del archivo apuntado por nombre de archivo usando el modo
dado.

8 size_t fread (void * ptr, size_t size, size_t nmemb, FILE * stream)

Lee datos de la secuencia dada en la matriz a la que apunta ptr.

99 FILE * freopen (const char * filename, const char * mode, FILE * stream)

Asocia un nuevo nombre de archivo con la secuencia abierta dada y al mismo


tiempo cierra el archivo antiguo en la secuencia.

10 int fseek (ARCHIVO * flujo, largo int desplazamiento, int de donde)

Establece la posición del archivo de la secuencia en el desplazamiento dado. El


argumento de desplazamiento significa el número de bytes que se soliciten a la
dada de donde posición.

11 int fsetpos (ARCHIVO * stream, const fpos_t * pos)

Establece la posición del archivo de la secuencia dada en la posición dada. El


argumento pos es una posición dada por la función fgetpos.

12 long int ftell (FILE * stream)

Devuelve la posición actual del archivo de la secuencia dada.

13 size_t fwrite (const void * ptr, size_t size, size_t nmemb, FILE * stream)

Escribe datos de la matriz a la que apunta ptr en la secuencia dada.

14 int remove (const char * filename)

Elimina el nombre de archivo dado para que ya no sea accesible.

15 int rename (const char * old_filename, const char * new_filename)

Hace que el nombre de archivo al que se hace referencia, por old_filename, se


cambie a new_filename.

dieciséis rebobinado nulo (ARCHIVO * flujo)

Establece la posición del archivo al comienzo del archivo de la secuencia dada.

17 void setbuf (ARCHIVO * flujo, char * buffer)

Define cómo se debe almacenar en búfer una secuencia.

18 años int setvbuf (FILE * stream, char * buffer, int mode, size_t size)

Otra función para definir cómo se debe almacenar en búfer una secuencia.

19 ARCHIVO * tmpfile (nulo)

Crea un archivo temporal en modo de actualización binaria (wb +).


20 char * tmpnam (char * str)

Genera y devuelve un nombre de archivo temporal válido que no existe.

21 int fprintf (FILE * stream, const char * format, ...)

Envía salida formateada a una secuencia.

22 int printf (const char * format, ...)

Envía salida formateada a stdout.

23 int sprintf (char * str, const char * format, ...)

Envía salida formateada a una cadena.

24 int vfprintf (FILE * stream, const char * format, va_list arg)

Envía salida formateada a una secuencia utilizando una lista de argumentos.

25 int vprintf (formato const char *, va_list arg)

Envía salida formateada a stdout usando una lista de argumentos.

26 int vsprintf (char * str, const char * format, va_list arg)

Envía salida formateada a una cadena usando una lista de argumentos.

27 int fscanf (FILE * stream, const char * format, ...)

Lee entradas formateadas de una secuencia.

28 int scanf (formato const char *, ...)

Lee entradas formateadas de stdin.

29 int sscanf (const char * str, const char * format, ...)

Lee entradas formateadas de una cadena.

30 int fgetc (ARCHIVO * flujo)

Obtiene el siguiente carácter (un carácter sin signo) del flujo especificado y
avanza el indicador de posición para el flujo.
31 char * fgets (char * str, int n, FILE * stream)

Lee una línea de la secuencia especificada y la almacena en la cadena a la que


apunta str. Se detiene cuando se leen caracteres (n-1), se lee el carácter de
nueva línea o se alcanza el final del archivo, lo que ocurra primero.

32 int fputc (int char, FILE * stream)

Escribe un carácter (un carácter sin signo) especificado por el argumento


carácter en la secuencia especificada y avanza el indicador de posición para la
secuencia.

33 int fputs (const char * str, FILE * stream)

Escribe una cadena en la secuencia especificada hasta pero sin incluir el


carácter nulo.

34 int getc (ARCHIVO * flujo)

Obtiene el siguiente carácter (un carácter sin signo) del flujo especificado y
avanza el indicador de posición para el flujo.

35 int getchar (nulo)

Obtiene un carácter (un carácter sin signo) de stdin.

36 char * gets (char * str)

Lee una línea de stdin y la almacena en la cadena a la que apunta, str. Se


detiene cuando se lee el carácter de nueva línea o cuando se alcanza el final del
archivo, lo que ocurra primero.

37 int putc (int char, FILE * stream)

Escribe un carácter (un carácter sin signo) especificado por el argumento


carácter en la secuencia especificada y avanza el indicador de posición para la
secuencia.

38 int putchar (int char)

Escribe un carácter (un carácter sin signo) especificado por el argumento


carácter en stdout.

39 int pone (const char * str)

Escribe una cadena para stdout hasta pero sin incluir el carácter nulo. Se agrega
un carácter de nueva línea a la salida.
40 int ungetc (int char, FILE * stream)

Empuja el carácter char (un carácter sin signo) en la secuencia especificada


para que se lea el siguiente carácter.

41 vacío perror (const char * str)

Imprime un mensaje de error descriptivo en stderr. Primero se imprime la


cadena str seguida de dos puntos y luego un espacio.
STDLIB.H
El encabezado stdlib.h define cuatro tipos de variables, varias macros y varias
funciones para realizar funciones generales.

Variables de biblioteca
Los siguientes son los tipos de variables definidos en el encabezado stdlib.h -

No Variable y descripción
Señor.

1
tamaño_t
Este es el tipo integral sin signo y es el resultado de la palabra clave sizeof .

2
wchar_t
Este es un tipo entero del tamaño de una constante de caracteres anchos .

3
div_t
Esta es la estructura devuelta por la función div .

44
ldiv_t
Esta es la estructura devuelta por la función ldiv .

Macros de biblioteca
Las siguientes son las macros definidas en el encabezado stdlib.h -

No Macro y descripción
Señor.

1
NULO
Esta macro es el valor de una constante de puntero nulo.

2
EXIT_FAILURE
Este es el valor para que la función de salida regrese en caso de falla.
3
EXIT_SUCCESS
Este es el valor para que la función de salida regrese en caso de éxito.

44
RAND_MAX
Esta macro es el valor máximo devuelto por la función rand.

55
MB_CUR_MAX
Esta macro es el número máximo de bytes en un juego de caracteres de varios
bytes que no puede ser mayor que MB_LEN_MAX.

Funciones de biblioteca
Las siguientes son las funciones definidas en el encabezado stlib.h -

No Función descriptiva
Señor.

1 doble atof (const char * str)

Convierte la cadena a la que apunta el argumento str en un número de coma


flotante (tipo double).

2 int atoi (const char * str)

Convierte la cadena a la que apunta el argumento str en un entero (tipo int).

3 atol int largo (const char * str)

Convierte la cadena a la que apunta el argumento str en un entero largo (tipo


long int).

44 doble strtod (const char * str, char ** endptr)

Convierte la cadena a la que apunta el argumento str en un número de coma


flotante (tipo double).

55 long int strtol (const char * str, char ** endptr, int base)

Convierte la cadena a la que apunta el argumento str en un entero largo (tipo


long int).
66 unsigned long int strtoul (const char * str, char ** endptr, int base)

Convierte la cadena a la que apunta el argumento str en un entero largo sin


signo (escriba unsigned long int).

77 void * calloc (size_t nitems, size_t size)

Asigna la memoria solicitada y le devuelve un puntero.

8 vacío libre (vacío * ptr

Desasigna la memoria previamente asignada por una llamada a calloc,


malloc o realloc .

99 void * malloc (tamaño_t tamaño)

Asigna la memoria solicitada y le devuelve un puntero.

10 void * realloc (void * ptr, size_t size)

Intenta cambiar el tamaño del bloque de memoria señalado por ptr que se
asignó previamente con una llamada a malloc o calloc .

11 anular anular (anular)

Causa una terminación anormal del programa.

12 int atexit (void (* func) (void))

Hace que se llame a la función de función especificada cuando el programa


finaliza normalmente.

13 salida nula (estado int)

Hace que el programa finalice normalmente.

14 char * getenv (const char * name)

Busca la cadena de entorno a la que apunta el nombre y devuelve el valor


asociado a la cadena.

15 sistema int (const char * string)

El comando especificado por la cadena se pasa al entorno host para que el


procesador de comandos lo ejecute.
dieciséis void * bsearch (const void * key, const void * base, size_t nitems, size_t size, int (*
compar) (const void *, const void *))

Realiza una búsqueda binaria.

17 void qsort (void * base, size_t nitems, size_t size, int (* compar) (const void *,
const void *))

Ordena una matriz.

18 años int abs (int x)

Devuelve el valor absoluto de x.

19 div_t div (int numer, int denom)

Divide numer (numerador) por denom (denominador).

20 laboratorios int largos (int largo x)

Devuelve el valor absoluto de x.

21 ldiv_t ldiv (número int largo, nombre int largo)

Divide numer (numerador) por denom (denominador).

22 int rand (nulo)

Devuelve un número pseudoaleatorio en el rango de 0 a RAND_MAX .

23 nulo srand (semilla inicial sin firmar)

Esta función genera el generador de números aleatorios utilizado por la


función rand .

24 int mblen (const char * str, size_t n)

Devuelve la longitud de un carácter multibyte señalado por el argumento str .

25 size_t mbstowcs (schar_t * pwcs, const char * str, size_t n)

Convierte la cadena de caracteres multibyte a la que apunta el argumento str en


la matriz a la que apunta pwcs .

26 int mbtowc (whcar_t * pwc, const char * str, size_t n)


Examina el carácter multibyte señalado por el argumento str .

27 size_t wcstombs (char * str, const wchar_t * pwcs, size_t n)

Convierte los códigos almacenados en la matriz pwcs en caracteres multibyte y


los almacena en la cadena str .

28 int wctomb (char * str, wchar_t wchar)

Examina el código que corresponde a un carácter multibyte dado por el


argumento wchar .
SSTRING.H
El encabezado string.h define un tipo de variable, una macro y varias funciones
para manipular matrices de caracteres.

Variables de biblioteca
A continuación se muestra el tipo de variable definido en la cadena del
encabezado. H -

No Variable y descripción
Señor.

1
tamaño_t
Este es el tipo integral sin signo y es el resultado de la palabra clave sizeof .

Macros de biblioteca
A continuación se muestra la macro definida en la cadena del encabezado. H -

No Macro y descripción
Señor.

1
NULO
Esta macro es el valor de una constante de puntero nulo.

Funciones de biblioteca
Las siguientes son las funciones definidas en la cadena del encabezado. H -

No Función descriptiva
Señor.

1 void * memchr (const void * str, int c, size_t n)

Busca la primera aparición del carácter c (un carácter sin signo) en los primeros
n bytes de la cadena a la que apunta el argumento cadena .

2 int memcmp (const void * str1, const void * str2, size_t n)


Compara los primeros n bytes de str1 y str2 .

3 void * memcpy (void * dest, const void * src, size_t n)

Copia n caracteres de src a dest .

44 void * memmove (void * dest, const void * src, size_t n)

Otra función para copiar n caracteres de str2 a str1 .

55 void * memset (void * str, int c, size_t n)

Copia el carácter c (un carácter sin signo) en los primeros n caracteres de la


cadena a la que apunta el argumento cadena .

66 char * strcat (char * dest, const char * src)

Agrega la cadena apuntada, por src, al final de la cadena apuntada por dest .

77 char * strncat (char * dest, const char * src, size_t n)

Agrega la cadena apuntada, por src al final de la cadena apuntada,


por dest hasta n caracteres de longitud.

8 char * strchr (const char * str, int c)

Busca la primera aparición del carácter c (un carácter sin signo) en la cadena a
la que apunta el argumento cadena .

99 int strcmp (const char * str1, const char * str2)

Compara la cadena apuntada por str1 con la cadena apuntada por str2 .

10 int strncmp (const char * str1, const char * str2, size_t n)

Compara como máximo los primeros n bytes de str1 y str2 .

11 int strcoll (const char * str1, const char * str2)

Compara la cadena str1 con str2 . El resultado depende de la configuración


LC_COLLATE de la ubicación.

12 char * strcpy (char * dest, const char * src)

Copia la cadena apuntada por src a dest .


13 char * strncpy (char * dest, const char * src, size_t n)

Copia hasta n caracteres de la cadena apuntada, por src a dest .

14 size_t strcspn (const char * str1, const char * str2)

Calcula la longitud del segmento inicial de str1 que consiste completamente en


caracteres que no están en str2.

15 char * strerror (int errnum)

Busca en una matriz interna el número de error errnum y devuelve un puntero a


una cadena de mensaje de error.

dieciséis size_t strlen (const char * str)

Calcula la longitud de la cadena hasta pero sin incluir el carácter nulo de


terminación.

17 char * strpbrk (const char * str1, const char * str2)

Encuentra el primer carácter en la cadena str1 que coincide con cualquier


carácter especificado en str2 .

18 años char * strrchr (const char * str, int c)

Busca la última aparición del carácter c (un carácter sin signo) en la cadena a la
que apunta el argumento cadena .

19 size_t strspn (const char * str1, const char * str2)

Calcula la longitud del segmento inicial de str1 que consta completamente de


caracteres en str2 .

20 char * strstr (const char * haystack, const char * aguja)

Encuentra la primera aparición de la aguja de cuerda completa (sin incluir el


carácter nulo de terminación) que aparece en el pajar de cuerda .

21 char * strtok (char * str, const char * delim)

Cuerda se rompe str en una serie de tokens separados por delim .

22 size_t strxfrm (char * dest, const char * src, size_t n)

Transforma los primeros n caracteres de la cadena src en la configuración


regional actual y los coloca en la cadena dest .
TIME.H
El encabezado time.h define cuatro tipos de variables, dos macro y varias
funciones para manipular la fecha y la hora.

Variables de biblioteca
Los siguientes son los tipos de variables definidos en el tiempo del encabezado.
H-

No Variable y descripción
Señor.

1
tamaño_t
Este es el tipo integral sin signo y es el resultado de la palabra clave sizeof .

2
clock_t
Este es un tipo adecuado para almacenar el tiempo del procesador.

3
tiempo_t es
Este es un tipo adecuado para almacenar la hora del calendario.

44
struct tm
Esta es una estructura utilizada para mantener la hora y la fecha.

La estructura tm tiene la siguiente definición:


struct tm {
int tm_sec; /* seconds, range 0 to 59 */
int tm_min; /* minutes, range 0 to 59 */
int tm_hour; /* hours, range 0 to 23 */
int tm_mday; /* day of the month, range 1 to 31 */
int tm_mon; /* month, range 0 to 11 */
int tm_year; /* The number of years since 1900 */
int tm_wday; /* day of the week, range 0 to 6 */
int tm_yday; /* day in the year, range 0 to 365 */
int tm_isdst; /* daylight saving time */
};

Macros de biblioteca
Las siguientes son las macros definidas en el tiempo del encabezado. H -
No Macro y descripción
Señor.

1
NULO
Esta macro es el valor de una constante de puntero nulo.

2
CLOCKS_PER_SEC
Esta macro representa el número de relojes del procesador por segundo.

Funciones de biblioteca
Las siguientes son las funciones definidas en el encabezado time.h -

No Función descriptiva
Señor.

1 char * asctime (const struct tm * timeptr)

Devuelve un puntero a una cadena que representa el día y la hora de la estructura


timeptr.

2 clock_t clock (nulo)

Devuelve el tiempo de reloj del procesador utilizado desde el comienzo de una era
definida por la implementación (normalmente el comienzo del programa).

3 char * ctime (const time_t * timer)

Devuelve una cadena que representa el tiempo local basado en el temporizador


de argumento.

44 doble difftime (time_t time1, time_t time2)

Devuelve la diferencia de segundos entre time1 y time2 (time1-time2).

55 struct tm * gmtime (const time_t * timer)

El valor del temporizador se divide en la estructura tm y se expresa en Tiempo


Universal Coordinado (UTC), también conocido como Tiempo Medio de
Greenwich (GMT).
66 struct tm * localtime (const time_t * timer)

El valor del temporizador se divide en la estructura tm y se expresa en la zona


horaria local.

77 time_t mktime (struct tm * timeptr)

Convierte la estructura apuntada por timeptr en un valor time_t de acuerdo con la


zona horaria local.

8 size_t strftime (char * str, size_t maxsize, const char * format, const struct tm *
timeptr)

Formatea el tiempo representado en la estructura timeptr de acuerdo con las


reglas de formato definidas en formato y almacenadas en str.

99 time_t time (time_t * timer)

Calcula el tiempo actual del calendario y lo codifica en formato time_t.