Biblioteca estándar C - Guía rápida
los assert.h El archivo de encabezado de la biblioteca estándar de C proporciona una macro llamada assert que se puede utilizar para verificar las suposiciones hechas por el programa e imprimir un mensaje de diagnóstico si esta suposición es falsa.
La macro definida assert se refiere a otra macro NDEBUGque no es parte de <assert.h>. Si NDEBUG se define como un nombre de macro en el archivo fuente, en el punto en el que se incluye <assert.h>, elassert macro se define de la siguiente manera:
#define assert(ignore) ((void)0)
Macros de biblioteca
A continuación se muestra la única función definida en el encabezado assert.h -
No Señor. | Función descriptiva |
---|---|
1 | aseverar vacío (expresión int) En realidad, esto es una macro y no una función, que puede usarse para agregar diagnósticos en su programa C. |
los ctype.h El archivo de encabezado de la biblioteca estándar de C declara varias funciones que son útiles para probar y mapear caracteres.
Todas las funciones acepta int como parámetro, cuyo valor debe ser EOF o representable como un carácter sin firmar.
Todas las funciones devuelven un valor distinto de cero (verdadero) si el argumento c satisface la condición descrita, y cero (falso) en caso contrario.
Funciones de biblioteca
A continuación se muestran las funciones definidas en el encabezado ctype.h:
No Señor. | Función descriptiva |
---|---|
1 | int isalnum (int c) Esta función comprueba si el carácter pasado es alfanumérico. |
2 | int isalpha (int c) Esta función comprueba si el carácter pasado es alfabético. |
3 | int iscntrl (int c) Esta función comprueba si el carácter pasado es un carácter de control. |
4 | int isdigit (int c) Esta función comprueba si el carácter pasado es un dígito decimal. |
5 | int isgraph (int c) Esta función verifica si el carácter pasado tiene una representación gráfica usando la configuración regional. |
6 | int islower (int c) Esta función comprueba si el carácter pasado es una letra minúscula. |
7 | int isprint (int c) Esta función comprueba si el carácter pasado es imprimible. |
8 | int ispunct (int c) Esta función comprueba si el carácter pasado es un carácter de puntuación. |
9 | int isspace (int c) Esta función comprueba si el carácter pasado es un espacio en blanco. |
10 | int isupper (int c) Esta función comprueba si el carácter pasado es una letra mayúscula. |
11 | int isxdigit (int c) Esta función comprueba 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 Señor. | Función descriptiva |
---|---|
1 | int tolower (int c) Esta función convierte las 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 Señor. | Clase de personaje y descripción |
---|---|
1 | Digits Este es un conjunto de números enteros {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. |
2 | Hexadecimal digits Este es el conjunto de {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}. |
3 | Lowercase letters Este es un conjunto de letras minúsculas {abcdefghijklmnopqrstu vwxyz}. |
4 | Uppercase letters Este es un conjunto de letras mayúsculas {ABCDEFGHIJKLMNOPQRSTU VWXYZ}. |
5 | Letters Este es un conjunto de letras minúsculas y mayúsculas. |
6 | Alphanumeric characters Este es un conjunto de dígitos, letras minúsculas y letras mayúsculas. |
7 | Punctuation characters ¡Este es un conjunto de! "# $% & '() * +, -. /:; <=>? @ [\] ^ _` {|} ~ |
8 | Graphical characters Este es un conjunto de caracteres alfanuméricos y signos de puntuación. |
9 | Space characters Este es un conjunto de tabulación, nueva línea, tabulación vertical, avance de página, retorno de carro y espacio. |
10 | Printable characters Este es un conjunto de caracteres alfanuméricos, caracteres de puntuación y espacios. |
11 | Control characters En ASCII, estos caracteres tienen códigos octales del 000 al 037 y 177 (DEL). |
12 | Blank characters Estos son espacios y pestañas. |
13 | Alphabetic characters Este es un conjunto de letras minúsculas y mayúsculas. |
los errno.h El archivo de encabezado de la biblioteca estándar de C define la variable entera errno, que se configura mediante llamadas al sistema y algunas funciones de biblioteca en caso de error para indicar qué salió mal. Esta macro se expande a un valor modificable de tipo int, por lo tanto, un programa puede leerla y modificarla.
los errnose establece en cero al inicio del programa. Ciertas funciones de la biblioteca C estándar modifican su valor a un valor distinto de cero para señalar algunos tipos de error. También puede modificar su valor o restablecerlo a cero a su conveniencia.
los errno.h El archivo de encabezado también define una lista de macros que indican diferentes códigos de error, que se expandirán a expresiones constantes enteras con tipo int.
Macros de biblioteca
A continuación se muestran las macros definidas en el encabezado errno.h:
No Señor. | Macro y descripción |
---|---|
1 | extern int errno Esta es la macro establecida por las llamadas al sistema y algunas funciones de la biblioteca en caso de error para indicar qué salió mal. |
2 | Error de dominio de 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. |
los float.hEl archivo de encabezado 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 comprender que el número de punto flotante se compone de los siguientes cuatro elementos:
No Señor. | Componente y descripción de componente |
---|---|
1 | S signo (+/-) |
2 | b base o raíz de la representación del exponente, 2 para binario, 10 para decimal, 16 para hexadecimal, y así sucesivamente ... |
3 | e exponente, un número entero entre un mínimo emin y un máximo emax. |
4 | p precisión, el número de dígitos base-b en el significado. |
Según 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 más bajos que los que se dan aquí. Tenga en cuenta que en todos los casos FLT se refiere al tipofloat, DBL se refiere a double, y LDBL se refiere a long double.
No Señor. | Macro y descripción |
---|---|
1 | FLT_ROUNDS Define el modo de redondeo para la suma de punto flotante y puede tener cualquiera de los siguientes valores:
|
2 | FLT_RADIX 2 Esto define la representación 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 del número (en la base FLT_RADIX). |
4 | 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. |
5 | 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. |
6 | 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. |
7 | 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. |
9 | FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 Estas macros definen el valor máximo de coma 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);
}
Compilemos y ejecutemos 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
los limits.hencabezado 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 más bajos que los que se dan 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 de un carácter firmado. |
SCHAR_MAX | +127 | Define el valor máximo de un carácter firmado. |
UCHAR_MAX | 255 | Define el valor máximo para un carácter sin firmar. |
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 multibyte. |
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 firmar. |
INT_MIN | -2147483648 | Define el valor mínimo para un int. |
INT_MAX | +2147483647 | Define el valor máximo de un int. |
UINT_MAX | 4294967295 | Define el valor máximo para un int sin firmar. |
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 firmar. |
Ejemplo
El siguiente ejemplo muestra el uso de algunas de las constantes definidas en limits.h archivo.
#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);
}
Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
The number of bits in a byte 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
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
los locale.hEl encabezado define la configuración específica de la ubicación, como los formatos de fecha y los símbolos de moneda. Encontrarás varias macros definidas junto con una estructura importantestruct lconv y dos funciones importantes que se enumeran a continuación.
Macros de biblioteca
A continuación se muestran las macros definidas en el encabezado y estas macros se utilizarán en las dos funciones que se enumeran a continuación:
No Señor. | Macro y descripción |
---|---|
1 | LC_ALL Configura todo. |
2 | LC_COLLATE Afecta las funciones strcoll y strxfrm. |
3 | LC_CTYPE Afecta todas las funciones de los personajes. |
4 | LC_MONETARY Afecta la información monetaria proporcionada por la función localeconv. |
5 | LC_NUMERIC Afecta el formato del punto decimal y la información proporcionada por la función localeconv. |
6 | LC_TIME Afecta la función strftime. |
Funciones de biblioteca
A continuación se muestran las funciones definidas en la configuración regional del encabezado.
No Señor. | Función descriptiva |
---|---|
1 | char * setlocale (categoría int, 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 Señor. | Campo Descripción |
---|---|
1 | decimal_point Carácter de punto decimal utilizado para valores no monetarios. |
2 | thousands_sep El carácter separador de miles de lugares se utiliza para valores no monetarios. |
3 | grouping 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 del grupo actual. Un valor de 0 significa que el valor anterior se utilizará para el resto de los grupos. |
4 | 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. |
5 | currency_symbol El símbolo local utilizado para la moneda. |
6 | mon_decimal_point El carácter de coma decimal utilizado para valores monetarios. |
7 | 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 del grupo actual. Un valor de 0 significa que el valor anterior se utilizará para el resto de los grupos. |
9 | positive_sign Carácter utilizado para valores monetarios positivos. |
10 | negative_sign Carácter utilizado para valores monetarios negativos. |
11 | int_frac_digits Número de dígitos que se mostrarán después del punto decimal en valores monetarios internacionales. |
12 | frac_digits Número de dígitos que se mostrarán 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, 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, el símbolo de moneda precede a un valor monetario negativo. Si es igual a 0, el símbolo de moneda reemplaza a un valor monetario negativo. |
dieciséis | n_sep_by_space Si es igual a 1, 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 | 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 |
---|---|
0 | 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 sucede al valor y al símbolo de moneda. |
3 | El signo precede inmediatamente al valor y al símbolo de moneda. |
4 | El signo sucede inmediatamente al valor y al símbolo de moneda. |
los math.hEl encabezado define varias funciones matemáticas y una macro. Todas las funciones disponibles en esta biblioteca tomandouble como argumento y regreso double como el resultado.
Macros de biblioteca
Solo hay una macro definida en esta biblioteca:
No Señor. | Macro y descripción |
---|---|
1 | HUGE_VAL Esta macro se utiliza 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 representado, 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 su lugar. En este caso, errno podría o no estar configurado en ERANGE. |
Funciones de biblioteca
A continuación se muestran las funciones definidas en el encabezado math.h -
No Señor. | Función descriptiva |
---|---|
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. |
4 | 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. |
5 | doble cos (doble x) Devuelve el coseno de un ángulo en radianes x. |
6 | doble cosh (doble x) Devuelve el coseno hiperbólico de x. |
7 | 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. |
9 | doble tanh (doble x) Devuelve la tangente hiperbólica de x. |
10 | doble exp (doble x) Devuelve el valor de e elevado a la xésima potencia. |
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) Devoluciones 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 en 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 el número 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 | doble techo (doble x) Devuelve el valor entero más pequeño mayor o igual que x. |
19 | doble fab (doble x) Devuelve el valor absoluto de x. |
20 | piso doble (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. |
los setjmp.h encabezado define la macro setjmp(), una función longjmp()y un tipo de variable jmp_buf, para omitir la llamada de función normal y devolver la disciplina.
Variables de biblioteca
A continuación se muestra el tipo de variable definido en el encabezado setjmp.h:
No Señor. | Variable y descripción |
---|---|
1 | jmp_buf Este es un tipo de matriz que se utiliza para almacenar información para macros. setjmp() y función longjmp(). |
Macros de biblioteca
Solo hay una macro definida en esta biblioteca:
No Señor. | Macro y descripción |
---|---|
1 | int setjmp (entorno jmp_buf) Esta macro guarda el entorno actual en la variableenvironment para uso posterior por la función longjmp(). Si esta macro regresa directamente de la invocación de la macro, devuelve cero pero si regresa de unalongjmp() llamada a la función, luego se devuelve un valor distinto de cero. |
Funciones de biblioteca
A continuación se muestra la única función definida en el encabezado setjmp.h:
No Señor. | Función descriptiva |
---|---|
1 | void longjmp (entorno jmp_buf, valor int) Esta función restaura el entorno guardado por la llamada más reciente a setjmp() macro en la misma invocación del programa con el correspondiente jmp_buf argumento. |
los signal.h encabezado define un tipo de variable sig_atomic_t, dos llamadas a funciones y varias macros para manejar diferentes señales reportadas 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 Señor. | Variable y descripción |
---|---|
1 | sig_atomic_t Esto es de inttype y se usa como variable en un manejador de señales. 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
A continuación se muestran las macros definidas en el encabezado signal.h y estas macros se utilizarán en dos funciones enumeradas a continuación. losSIG_ las macros se utilizan con la función de señal para definir funciones de señal.
No Señor. | Macro y descripción |
---|---|
1 | SIG_DFL Manejador de señales predeterminado. |
2 | SIG_ERR Representa un error de señal. |
3 | SIG_IGN Señal ignorada. |
los SIG Las macros se utilizan para representar un número de señal en las siguientes condiciones:
No Señor. | Macro y descripción |
---|---|
1 | SIGABRT Terminación anormal del programa. |
2 | SIGFPE Error de coma flotante como división por cero. |
3 | SIGILL Operación ilegal. |
4 | SIGINT Señal de interrupción como ctrl-C. |
5 | SIGSEGV Acceso no válido al almacenamiento como infracción de segmento. |
6 | SIGTERM Solicitud de rescisión. |
Funciones de biblioteca
A continuación se muestran las funciones definidas en la señal de encabezado. H -
No Señor. | Función descriptiva |
---|---|
1 | void (* señal (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 aumento (int sig) Esta función hace que la señal sigque se generará. El argumento sig es compatible con las macros SIG. |
los stdarg.h encabezado define un tipo de variable va_list y tres macros que se pueden usar para obtener los argumentos en una función cuando se desconoce el número de argumentos, es decir, 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 Señor. | Variable y descripción |
---|---|
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
A continuación se muestran las macros definidas en el encabezado stdarg.h:
No Señor. | Macro y descripción |
---|---|
1 | void va_start (va_list ap, last_arg) Esta macro se inicializa ap variable que se utilizará con el va_arg y va_endmacros. loslast_arg es el último argumento fijo conocido que se pasa a la función, es decir, el argumento antes de la elipsis. |
2 | escriba va_arg (va_list ap, tipo) Esta macro recupera el siguiente argumento en la lista de parámetros de la función con tipo type. |
3 | void va_end (va_list ap) Esta macro permite una función con argumentos variables que utiliza el va_startmacro para volver. Siva_end no se llama antes de regresar de la función, el resultado no está definido. |
los stddef.hEl encabezado define varios tipos de variables y macros. Muchas de estas definiciones también aparecen en otros encabezados.
Variables de biblioteca
A continuación se muestran los tipos de variables definidos en el encabezado stddef.h:
No Señor. | Variable y descripción |
---|---|
1 | ptrdiff_t Este es el tipo integral con signo y es el resultado de restar dos punteros. |
2 | size_t Este es el tipo integral sin signo y es el resultado de la sizeof palabra clave. |
3 | wchar_t Este es un tipo integral del tamaño de una constante de carácter ancho. |
Macros de biblioteca
A continuación se muestran las macros definidas en el encabezado stddef.h:
No Señor. | Macro y descripción |
---|---|
1 | NULO Esta macro es el valor de una constante de puntero nulo. |
2 | offsetof (tipo, designador de miembro) Esto da como resultado un entero constante de tipo size_t que es el desplazamiento en bytes de un miembro de estructura desde el principio de la estructura. El miembro se da por miembro-designador y el nombre de la estructura se da en tipo . |
los stdio.h El encabezado define tres tipos de variables, varias macros y varias funciones para realizar entradas y salidas.
Variables de biblioteca
A continuación se muestran los tipos de variables definidos en el encabezado stdio.h:
No Señor. | Variable y descripción |
---|---|
1 | size_t Este es el tipo integral sin signo y es el resultado de la sizeof palabra clave. |
2 | FILE Este es un tipo de objeto adecuado para almacenar información para un flujo de archivos. |
3 | fpos_t Este es un tipo de objeto adecuado para almacenar cualquier posición en un archivo. |
Macros de biblioteca
A continuación se muestran las macros definidas en el encabezado stdio.h:
No Señor. | Macro y descripción |
---|---|
1 | NULL 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 su uso como tercer argumento de la setvbuf función. |
3 | BUFSIZ Esta macro es un número entero, que representa el tamaño del búfer utilizado por el setbuf función. |
4 | EOF Esta macro es un entero negativo, lo que indica que se ha alcanzado el final del archivo. |
5 | 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. |
6 | 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, entonces este valor debería ser el valor máximo recomendado. |
7 | 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 el tmpnam función. |
8 | SEEK_CUR, SEEK_END, y SEEK_SET Estas macros se utilizan en fseek función para localizar diferentes posiciones en un archivo. |
9 | TMP_MAX Esta macro es el número máximo de nombres de archivo únicos que la función tmpnam puede generar. |
10 | stderr, stdin, y stdout Estas macros apuntan a tipos de ARCHIVOS que corresponden a los flujos de error estándar, entrada estándar y salida estándar. |
Funciones de biblioteca
A continuación se muestran las funciones definidas en el encabezado stdio.h:
Siga la misma secuencia de funciones para comprender mejor y hacer uso de Try itOpción (compilador en línea), porque el archivo creado en la primera función se utilizará en funciones posteriores.
No Señor. | Función descriptiva |
---|---|
1 | int fclose (ARCHIVO * flujo) Cierra el arroyo. Todos los búferes se vacían. |
2 | void clearr (ARCHIVO * flujo) Borra los indicadores de fin de archivo y de error de la secuencia dada. |
3 | int feof (ARCHIVO * flujo) Prueba el indicador de fin de archivo para la secuencia dada. |
4 | int ferror (ARCHIVO * flujo) Prueba el indicador de error para la secuencia dada. |
5 | int fflush (ARCHIVO * flujo) Vacía el búfer de salida de una secuencia. |
6 | int fgetpos (ARCHIVO * flujo, fpos_t * pos) Obtiene la posición actual del archivo de la secuencia y la escribe en pos. |
7 | ARCHIVO * fopen (const char * nombre de archivo, const char * modo) Abre el nombre de archivo señalado por el 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 apuntada por ptr. |
9 | ARCHIVO * freopen (const char * nombre de archivo, const char * modo, ARCHIVO * flujo) 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 (FILE * stream, long int offset, int de dónde) 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 esperan de la dada de donde posición. |
11 | int fsetpos (ARCHIVO * flujo, 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 (ARCHIVO * flujo) 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 apuntada por ptr en la secuencia dada. |
14 | int remove (const char * nombre de archivo) Elimina el nombre de archivo proporcionado 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 nombre_archivo_antiguo, se cambie a nombre_archivo nuevo. |
dieciséis | rebobinado vacío (ARCHIVO * flujo) Establece la posición del archivo al principio del archivo de la secuencia dada. |
17 | void setbuf (FILE * stream, char * buffer) Define cómo se debe almacenar en búfer una secuencia. |
18 | int setvbuf (FILE * stream, char * buffer, modo int, size_t size) Otra función para definir cómo se debe almacenar en búfer una secuencia. |
19 | ARCHIVO * tmpfile (vacío) 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 (ARCHIVO * flujo, const char * formato, ...) Envía salida formateada a una secuencia. |
22 | int printf (formato const char *, ...) Envía salida formateada a stdout. |
23 | int sprintf (char * str, const char * formato, ...) Envía salida formateada a una cadena. |
24 | int vfprintf (ARCHIVO * flujo, const char * formato, lista_vaarg) Envía salida formateada a un flujo usando una lista de argumentos. |
25 | int vprintf (formato const char *, lista_vaarg) Envía salida formateada a stdout usando una lista de argumentos. |
26 | int vsprintf (char * str, const char * formato, va_list arg) Envía salida formateada a una cadena usando una lista de argumentos. |
27 | int fscanf (ARCHIVO * flujo, const char * formato, ...) Lee la entrada formateada de una secuencia. |
28 | int scanf (formato const char *, ...) Lee la entrada formateada de stdin. |
29 | int sscanf (const char * str, const char * formato, ...) Lee la entrada formateada de una cadena. |
30 | int fgetc (ARCHIVO * flujo) Obtiene el siguiente carácter (un carácter sin firmar) de la secuencia especificada y avanza el indicador de posición de la secuencia. |
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 (n-1) caracteres, se lee el carácter de nueva línea o se llega al final del archivo, lo que ocurra primero. |
32 | int fputc (int char, FILE * stream) Escribe un carácter (un carácter sin firmar) especificado por el argumento char 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 el carácter nulo, pero sin incluirlo. |
34 | int getc (ARCHIVO * flujo) Obtiene el siguiente carácter (un carácter sin firmar) de la secuencia especificada y avanza el indicador de posición de la secuencia. |
35 | int getchar (vacío) Obtiene un carácter (un carácter sin firmar) de stdin. |
36 | char * obtiene (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 llega al final del archivo, lo que ocurra primero. |
37 | int putc (int char, FILE * stream) Escribe un carácter (un carácter sin firmar) especificado por el argumento char 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 firmar) especificado por el argumento char en stdout. |
39 | int pone (const char * str) Escribe una cadena en stdout hasta el carácter nulo, pero sin incluirlo. Se agrega un carácter de nueva línea a la salida. |
40 | int ungetc (int char, FILE * stream) Inserta el carácter char (un carácter sin firmar) en la secuencia especificada para que se lea el siguiente carácter. |
41 | perror vacío (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. |
los stdlib.h El encabezado define cuatro tipos de variables, varias macros y varias funciones para realizar funciones generales.
Variables de biblioteca
A continuación se muestran los tipos de variables definidos en el encabezado stdlib.h:
No Señor. | Variable y descripción |
---|---|
1 | size_t Este es el tipo integral sin signo y es el resultado de la sizeof palabra clave. |
2 | wchar_t Este es un tipo entero del tamaño de un wide constante de carácter. |
3 | div_t Esta es la estructura devuelta por el div función. |
4 | ldiv_t Esta es la estructura devuelta por el ldiv función. |
Macros de biblioteca
A continuación se muestran las macros definidas en el encabezado stdlib.h:
No Señor. | Macro y descripción |
---|---|
1 | NULL Esta macro es el valor de una constante de puntero nulo. |
2 | EXIT_FAILURE Este es el valor que debe devolver la función de salida en caso de falla. |
3 | EXIT_SUCCESS Este es el valor que debe devolver la función de salida en caso de éxito. |
4 | RAND_MAX Esta macro es el valor máximo devuelto por la función rand. |
5 | MB_CUR_MAX Esta macro es el número máximo de bytes en un juego de caracteres multibyte que no puede ser mayor que MB_LEN_MAX. |
Funciones de biblioteca
A continuación se muestran las funciones definidas en el encabezado stlib.h:
No Señor. | Función descriptiva |
---|---|
1 | doble atof (const char * str) Convierte la cadena apuntada por el argumento str en un número de punto flotante (tipo double). |
2 | int atoi (const char * str) Convierte la cadena apuntada por el argumento str en un número entero (tipo int). |
3 | atol largo int (const char * str) Convierte la cadena a la que apunta el argumento str en un entero largo (tipo long int). |
4 | doble strtod (const char * str, char ** endptr) Convierte la cadena apuntada por el argumento str en un número de punto flotante (tipo double). |
5 | 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). |
6 | unsigned long int strtoul (const char * str, char ** endptr, int base) Convierte la cadena apuntada por el argumento str en un entero largo sin signo (tipo unsigned long int). |
7 | void * calloc (size_t nitems, size_t tamaño) 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 . |
9 | 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 apuntado por ptr que se asignó previamente con una llamada a malloc o calloc . |
11 | anular abortar (anular) Provoca una terminación anormal del programa. |
12 | int atexit (void (* func) (void)) Provoca la función especificada func para ser llamado cuando el programa termina normalmente. |
13 | salida vacía (estado int) Hace que el programa termine normalmente. |
14 | char * getenv (const char * nombre) Busca la cadena de entorno apuntada por nombre y devuelve el valor asociado a la cadena. |
15 | int system (const char * string) El comando especificado por cadena se pasa al entorno host para que lo ejecute el procesador de comandos. |
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 | int abs (int x) Devuelve el valor absoluto de x. |
19 | div_t div (int num, int denom) Divide num (numerador) por denom (denominador). |
20 | long int labs (long int x) Devuelve el valor absoluto de x. |
21 | ldiv_t ldiv (número int largo, denom int largo) Divide num (numerador) por denom (denominador). |
22 | int rand (vacío) Devuelve un número pseudoaleatorio en el rango de 0 a RAND_MAX . |
23 | srand vacío (semilla int sin firmar) Esta función inicia 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 al que apunta el argumento str . |
25 | size_t mbstowcs (schar_t * pwcs, const char * str, size_t n) Convierte la cadena de caracteres multibyte apuntada por el argumento str en la matriz apuntada por pwcs . |
26 | int mbtowc (whcar_t * pwc, const char * str, size_t n) Examina el carácter multibyte al que apunta 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 . |
los string.h El encabezado 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 de encabezado. H -
No Señor. | Variable y descripción |
---|---|
1 | size_t Este es el tipo integral sin signo y es el resultado de la sizeof palabra clave. |
Macros de biblioteca
A continuación se muestra la macro definida en la cadena de encabezado. H -
No Señor. | Macro y descripción |
---|---|
1 | NULL Esta macro es el valor de una constante de puntero nulo. |
Funciones de biblioteca
A continuación se muestran las funciones definidas en la cadena de encabezado. H -
No Señor. | Función descriptiva |
---|---|
1 | void * memchr (constante 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 se apunta, mediante el argumento str . |
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 . |
4 | void * memmove (void * dest, const void * src, size_t n) Otra función para copiar n caracteres de str2 a str1 . |
5 | 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 se apunta, mediante el argumento str . |
6 | char * strcat (char * dest, const char * src) Agrega la cadena apuntada por src al final de la cadena apuntada por dest . |
7 | 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 se apunta, mediante el argumento str . |
9 | 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 a la que apunta, por src a dest . |
14 | size_t strcspn (const char * str1, const char * str2) Calcula la longitud del segmento inicial de str1 que consta completamente de 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 str hasta pero sin incluir el carácter nulo de terminación. |
17 | char * strpbrk (const char * str1, const char * str2) Busca el primer carácter de la cadena str1 que coincide con cualquier carácter especificado en str2 . |
18 | 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 str . |
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 * pajar, const char * aguja) Encuentra la primera aparición de la aguja de hilo completa (sin incluir el carácter nulo de terminación) que aparece en el pajar de hilo . |
21 | char * strtok (char * str, const char * delim) Divide la cadena str en una serie de tokens separados por delim . |
22 | size_t strxfrm (char * dest, const char * src, size_t n) Transforma el primero n caracteres de la cadena src en la configuración regional actual y los coloca en la cadena dest. |
los time.h El encabezado define cuatro tipos de variables, dos macro y varias funciones para manipular la fecha y la hora.
Variables de biblioteca
A continuación se muestran los tipos de variables definidos en el encabezado time.h -
No Señor. | Variable y descripción |
---|---|
1 | size_t Este es el tipo integral sin signo y es el resultado de la sizeof palabra clave. |
2 | clock_t Este es un tipo adecuado para almacenar el tiempo del procesador. |
3 | time_t is Este es un tipo adecuado para almacenar la hora del calendario. |
4 | struct tm Esta es una estructura que se utiliza para contener 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
A continuación se muestran las macros definidas en el tiempo del encabezado. H -
No Señor. | Macro y descripción |
---|---|
1 | NULL 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
A continuación se muestran las funciones definidas en el encabezado time.h -
No Señor. | Función descriptiva |
---|---|
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 (vacío) 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 la hora local basada en el argumento del temporizador. |
4 | doble difftime (time_t time1, time_t time2) Devuelve la diferencia de segundos entre time1 y time2 (time1-time2). |
5 | struct tm * gmtime (const time_t * timer) El valor del temporizador se divide en la estructura tm y se expresa en hora universal coordinada (UTC), también conocida como hora media de Greenwich (GMT). |
6 | 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. |
7 | 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 * formato, const struct tm * timeptr) Formatea la hora representada en la estructura timeptr de acuerdo con las reglas de formato definidas en formato y almacenadas en str. |
9 | time_t time (time_t * temporizador) Calcula la hora actual del calendario y la codifica en formato time_t. |