Biblioteca C Standard - Guia Rápido
o assert.h arquivo de cabeçalho da Biblioteca C padrão fornece uma macro chamada assert que pode ser usado para verificar as suposições feitas pelo programa e imprimir uma mensagem de diagnóstico se essa suposição for falsa.
A macro definida assert refere-se a outra macro NDEBUGque não faz parte de <assert.h>. Se NDEBUG for definido como um nome de macro no arquivo de origem, no ponto onde <assert.h> está incluído, oassert macro é definido como segue -
#define assert(ignore) ((void)0)
Macros de biblioteca
A seguir está a única função definida no cabeçalho assert.h -
Sr. Não. | Descrição da função |
---|---|
1 | void assert (expressão int) Na verdade, esta é uma macro e não uma função, que pode ser usada para adicionar diagnósticos em seu programa C. |
o ctype.h O arquivo de cabeçalho da Biblioteca C padrão declara várias funções que são úteis para testar e mapear caracteres.
Todas as funções aceitam int como um parâmetro, cujo valor deve ser EOF ou representável como um unsigned char.
Todas as funções retornam diferente de zero (verdadeiro) se o argumento c satisfaz a condição descrita e zero (falso) se não.
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho ctype.h -
Sr. Não. | Descrição da função |
---|---|
1 | int isalnum (int c) Esta função verifica se o caractere passado é alfanumérico. |
2 | int isalpha (int c) Esta função verifica se o caractere passado é alfabético. |
3 | int iscntrl (int c) Esta função verifica se o caractere passado é um caractere de controle. |
4 | int isdigit (int c) Esta função verifica se o caractere passado é um dígito decimal. |
5 | int isgraph (int c) Esta função verifica se o caractere passado tem representação gráfica usando local. |
6 | int islower (int c) Esta função verifica se o caractere passado é uma letra minúscula. |
7 | int isprint (int c) Esta função verifica se o caractere passado pode ser impresso. |
8 | int ispunct (int c) Esta função verifica se o caractere passado é um caractere de pontuação. |
9 | int isspace (int c) Esta função verifica se o caractere passado é um espaço em branco. |
10 | int isupper (int c) Esta função verifica se o caractere passado é uma letra maiúscula. |
11 | int isxdigit (int c) Esta função verifica se o caractere passado é um dígito hexadecimal. |
A biblioteca também contém duas funções de conversão que aceitam e retornam um "int".
Sr. Não. | Descrição da função |
---|---|
1 | int tolower (int c) Esta função converte letras maiúsculas em minúsculas. |
2 | int toupper (int c) Esta função converte letras minúsculas em maiúsculas. |
Classes de personagens
Sr. Não. | Classe e descrição do personagem |
---|---|
1 | Digits Este é um conjunto de números inteiros {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. |
2 | Hexadecimal digits Este é o conjunto de {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}. |
3 | Lowercase letters Este é um conjunto de letras minúsculas {abcdefghijklmnopqrstu vwxyz}. |
4 | Uppercase letters Este é um conjunto de letras maiúsculas {ABCDEFGHIJKLMNOPQRSTU VWXYZ}. |
5 | Letters Este é um conjunto de letras maiúsculas e minúsculas. |
6 | Alphanumeric characters Este é um conjunto de dígitos, letras minúsculas e letras maiúsculas. |
7 | Punctuation characters Este é um conjunto de! "# $% & '() * +, -. /:; <=>? @ [\] ^ _` {|} ~ |
8 | Graphical characters Este é um conjunto de caracteres alfanuméricos e caracteres de pontuação. |
9 | Space characters Este é um conjunto de tabulação, nova linha, tabulação vertical, alimentação de formulário, retorno de carro e espaço. |
10 | Printable characters Este é um conjunto de caracteres alfanuméricos, caracteres de pontuação e caracteres de espaço. |
11 | Control characters Em ASCII, esses caracteres têm códigos octais 000 a 037 e 177 (DEL). |
12 | Blank characters Estes são espaços e tabulações. |
13 | Alphabetic characters Este é um conjunto de letras minúsculas e maiúsculas. |
o errno.h arquivo de cabeçalho da Biblioteca Padrão C define a variável inteira errno, que é definido por chamadas de sistema e algumas funções de biblioteca no caso de um erro para indicar o que deu errado. Esta macro se expande para um lvalue modificável do tipo int, portanto, pode ser lido e modificado por um programa.
o errnoé definido como zero na inicialização do programa. Certas funções da biblioteca C padrão modificam seu valor para outro diferente de zero para sinalizar alguns tipos de erro. Você também pode modificar seu valor ou zerar conforme sua conveniência.
o errno.h arquivo de cabeçalho também define uma lista de macros indicando diferentes códigos de erro, que se expandirá para expressões constantes inteiras com tipo int.
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho errno.h -
Sr. Não. | Macro e descrição |
---|---|
1 | extern int errno Esta é a macro definida pelas chamadas do sistema e algumas funções da biblioteca no caso de um erro para indicar o que deu errado. |
2 | Erro de domínio EDOM Esta macro representa um erro de domínio, que ocorre se um argumento de entrada estiver fora do domínio, sobre o qual a função matemática é definida e errno é definido como EDOM. |
3 | ERANGE Erro de intervalo Esta macro representa um erro de intervalo, que ocorre se um argumento de entrada estiver fora do intervalo, sobre o qual a função matemática é definida e errno é definido como ERANGE. |
o float.hO arquivo de cabeçalho da Biblioteca Padrão C contém um conjunto de várias constantes dependentes da plataforma relacionadas aos valores de ponto flutuante. Essas constantes são propostas pela ANSI C. Elas permitem fazer programas mais portáteis. Antes de verificar todas as constantes, é bom entender que o número de ponto flutuante é composto pelos seguintes quatro elementos -
Sr. Não. | Descrição do componente e do componente |
---|---|
1 | S sinal (+/-) |
2 | b base ou raiz da representação do expoente, 2 para binário, 10 para decimal, 16 para hexadecimal e assim por diante ... |
3 | e expoente, um número inteiro entre um mínimo emin e um máximo emax. |
4 | p precisão, o número de dígitos de base b no significando. |
Com base nos 4 componentes acima, um ponto flutuante terá seu valor da seguinte forma -
floating-point = ( S ) p x be
or
floating-point = (+/-) precision x baseexponent
Macros de biblioteca
Os seguintes valores são específicos da implementação e definidos com a diretiva #define, mas esses valores não podem ser inferiores aos fornecidos aqui. Observe que em todas as instâncias FLT se refere ao tipofloat, DBL se refere a double, e LDBL refere-se a long double.
Sr. Não. | Macro e descrição |
---|---|
1 | FLT_ROUNDS Define o modo de arredondamento para adição de ponto flutuante e pode ter qualquer um dos seguintes valores -
|
2 | FLT_RADIX 2 Isso define a representação da raiz da base do expoente. A base 2 é binária, a base 10 é a representação decimal normal e a base 16 é Hex. |
3 | FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG Essas macros definem o número de dígitos no número (na base FLT_RADIX). |
4 | FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 Essas macros definem o número máximo de dígitos decimais (base 10) que podem ser representados sem alteração após o arredondamento. |
5 | FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP Essas macros definem o valor inteiro negativo mínimo para um expoente na base FLT_RADIX. |
6 | FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 Essas macros definem o valor inteiro negativo mínimo para um expoente na base 10. |
7 | FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP Essas macros definem o valor inteiro máximo para um expoente na base FLT_RADIX. |
8 | FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 Essas macros definem o valor inteiro máximo para um expoente na base 10. |
9 | FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 Essas macros definem o valor máximo de ponto flutuante finito. |
10 | FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 Essas macros definem o dígito menos significativo representável. |
11 | FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 Essas macros definem os valores mínimos de ponto flutuante. |
Exemplo
O exemplo a seguir mostra o uso de algumas das constantes definidas no arquivo 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 compilar e executar o programa acima que produzirá o seguinte 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
o limits.hheader determina várias propriedades dos vários tipos de variáveis. As macros definidas neste cabeçalho, limitam os valores de vários tipos de variáveis como char, int e long.
Esses limites especificam que uma variável não pode armazenar nenhum valor além desses limites, por exemplo, um caractere sem sinal pode armazenar até um valor máximo de 255.
Macros de biblioteca
Os seguintes valores são específicos da implementação e definidos com a diretiva #define, mas esses valores não podem ser inferiores aos fornecidos aqui.
Macro | Valor | Descrição |
---|---|---|
CHAR_BIT | 8 | Define o número de bits em um byte. |
SCHAR_MIN | -128 | Define o valor mínimo para um caractere assinado. |
SCHAR_MAX | +127 | Define o valor máximo para um caractere assinado. |
UCHAR_MAX | 255 | Define o valor máximo para um caractere não assinado. |
CHAR_MIN | -128 | Define o valor mínimo para o tipo char e seu valor será igual a SCHAR_MIN se char representar valores negativos, caso contrário, zero. |
CHAR_MAX | +127 | Define o valor do tipo char e seu valor será igual a SCHAR_MAX se char representar valores negativos, caso contrário, UCHAR_MAX. |
MB_LEN_MAX | 16 | Define o número máximo de bytes em um caractere multibyte. |
SHRT_MIN | -32768 | Define o valor mínimo para um int curto. |
SHRT_MAX | +32767 | Define o valor máximo para um int curto. |
USHRT_MAX | 65535 | Define o valor máximo para um int curto sem sinal. |
INT_MIN | -2147483648 | Define o valor mínimo para um int. |
INT_MAX | +2147483647 | Define o valor máximo para um int. |
UINT_MAX | 4294967295 | Define o valor máximo para um int não assinado. |
LONG_MIN | -9223372036854775808 | Define o valor mínimo para um inteiro longo. |
LONG_MAX | +9223372036854775807 | Define o valor máximo para um inteiro longo. |
ULONG_MAX | 18446744073709551615 | Define o valor máximo para um inteiro longo sem sinal. |
Exemplo
O exemplo a seguir mostra o uso de algumas das constantes definidas em limits.h Arquivo.
#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 compilar e executar o programa acima que produzirá o seguinte 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
o locale.hheader define as configurações específicas do local, como formatos de data e símbolos de moeda. Você encontrará várias macros definidas juntamente com uma estrutura importantestruct lconv e duas funções importantes listadas abaixo.
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho e essas macros serão usadas em duas funções listadas abaixo -
Sr. Não. | Macro e descrição |
---|---|
1 | LC_ALL Define tudo. |
2 | LC_COLLATE Afeta as funções strcoll e strxfrm. |
3 | LC_CTYPE Afeta todas as funções do personagem. |
4 | LC_MONETARY Afeta as informações monetárias fornecidas pela função localeconv. |
5 | LC_NUMERIC Afeta a formatação do ponto decimal e as informações fornecidas pela função localeconv. |
6 | LC_TIME Afeta a função strftime. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho locale.h -
Sr. Não. | Descrição da função |
---|---|
1 | char * setlocale (int category, const char * locale) Define ou lê informações dependentes de localização. |
2 | struct lconv * localeconv (void) Define ou lê informações dependentes de localização. |
Estrutura da 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 seguir está a descrição de cada um dos campos -
Sr. Não. | Campo e Descrição |
---|---|
1 | decimal_point Caractere de ponto decimal usado para valores não monetários. |
2 | thousands_sep Caractere separador de milhares de lugares usado para valores não monetários. |
3 | grouping Uma string que indica o tamanho de cada grupo de dígitos em quantidades não monetárias. Cada caractere representa um valor inteiro, que designa o número de dígitos no grupo atual. Um valor 0 significa que o valor anterior deve ser usado para o resto dos grupos. |
4 | int_curr_symbol É uma sequência de símbolos de moeda internacionais usados. Os primeiros três caracteres são os especificados pela ISO 4217: 1987 e o quarto é o caractere, que separa o símbolo da moeda da quantidade monetária. |
5 | currency_symbol O símbolo local usado para moeda. |
6 | mon_decimal_point O caractere de ponto decimal usado para valores monetários. |
7 | mon_thousands_sep Os milhares de caracteres de agrupamento de locais usados para valores monetários. |
8 | mon_grouping Uma string cujos elementos definem o tamanho do agrupamento de dígitos em valores monetários. Cada caractere representa um valor inteiro que designa o número de dígitos no grupo atual. Um valor 0 significa que o valor anterior deve ser usado para o resto dos grupos. |
9 | positive_sign O caractere usado para valores monetários positivos. |
10 | negative_sign O caractere usado para valores monetários negativos. |
11 | int_frac_digits Número de dígitos a serem mostrados após a vírgula decimal em valores monetários internacionais. |
12 | frac_digits Número de dígitos a serem mostrados após o ponto decimal em valores monetários. |
13 | p_cs_precedes Se for igual a 1, então o currency_symbol aparecerá antes de um valor monetário positivo. Se for igual a 0, então o currency_symbol aparecerá após um valor monetário positivo. |
14 | p_sep_by_space Se for igual a 1, então o currency_symbol é separado por um espaço de um valor monetário positivo. Se for igual a 0, então não há espaço entre o currency_symbol e um valor monetário positivo. |
15 | n_cs_precedes Se for igual a 1, então o currency_symbol precede um valor monetário negativo. Se for igual a 0, então o currency_symbol obtém um valor monetário negativo. |
16 | n_sep_by_space Se for igual a 1, então o currency_symbol é separado por um espaço de um valor monetário negativo. Se for igual a 0, então não há espaço entre o currency_symbol e um valor monetário negativo. |
17 | p_sign_posn Representa a posição do sinal positivo em um valor monetário positivo. |
18 | n_sign_posn Representa a posição de negative_sign em um valor monetário negativo. |
Os seguintes valores são usados para p_sign_posn e n_sign_posn -
Valor | Descrição |
---|---|
0 | Os parênteses encapsulam o valor e o currency_symbol. |
1 | O sinal precede o valor e currency_symbol. |
2 | O sinal sucede o valor e o símbolo da moeda. |
3 | O sinal precede imediatamente o valor e currency_symbol. |
4 | O sinal vem imediatamente após o valor e currency_symbol. |
o math.hheader define várias funções matemáticas e uma macro. Todas as funções disponíveis nesta biblioteca levamdouble como um argumento e retorno double como resultado.
Macros de biblioteca
Existe apenas uma macro definida nesta biblioteca -
Sr. Não. | Macro e descrição |
---|---|
1 | HUGE_VAL Esta macro é usada quando o resultado de uma função não pode ser representado como um número de ponto flutuante. Se a magnitude do resultado correto for muito grande para ser representado, a função configura errno para ERANGE para indicar um erro de intervalo e retorna um valor particular muito grande nomeado pela macro HUGE_VAL ou sua negação (- HUGE_VAL). Se a magnitude do resultado for muito pequena, um valor zero será retornado. Nesse caso, errno pode ou não ser definido como ERANGE. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho math.h -
Sr. Não. | Descrição da função |
---|---|
1 | acos duplo (duplo x) Retorna o arco cosseno de x em radianos. |
2 | duplo asin (duplo x) Retorna o arco seno de x em radianos. |
3 | atan duplo (duplo x) Retorna o arco tangente de x em radianos. |
4 | duplo atan2 (duplo y, duplo x) Retorna o arco tangente em radianos de y / x com base nos sinais de ambos os valores para determinar o quadrante correto. |
5 | duplo cos (duplo x) Retorna o cosseno de um ângulo radiano x. |
6 | duplo cosh (duplo x) Retorna o cosseno hiperbólico de x. |
7 | pecado duplo (duplo x) Retorna o seno de um ângulo radiano x. |
8 | sinh duplo (duplo x) Retorna o seno hiperbólico de x. |
9 | tanh duplo (duplo x) Retorna a tangente hiperbólica de x. |
10 | exp dupla (duplo x) Retorna o valor de e elevado à xª potência. |
11 | frexp duplo (duplo x, int * expoente) O valor retornado é a mantissa e o inteiro apontado pelo expoente é o expoente. O valor resultante é x = mantissa * 2 ^ expoente. |
12 | ldexp duplo (duplo x, expoente int) Devoluções x multiplicado por 2 elevado à potência do expoente. |
13 | log duplo (duplo x) Retorna o logaritmo natural (logaritmo de base e) de x. |
14 | log duplo 10 (duplo x) Retorna o logaritmo comum (logaritmo de base 10) de x. |
15 | modf duplo (duplo x, duplo * inteiro) O valor retornado é o componente da fração (parte após o decimal) e define o inteiro para o componente inteiro. |
16 | pow duplo (duplo x, duplo y) Retorna x elevado à potência de y. |
17 | sqrt duplo (duplo x) Retorna a raiz quadrada de x. |
18 | teto duplo (duplo x) Retorna o menor valor inteiro maior ou igual a x. |
19 | fabs duplos (duplo x) Retorna o valor absoluto de x. |
20 | andar duplo (duplo x) Retorna o maior valor inteiro menor ou igual a x. |
21 | fmod duplo (duplo x, duplo y) Retorna o resto de x dividido por y. |
o setjmp.h cabeçalho define a macro setjmp(), uma função longjmp(), e um tipo de variável jmp_buf, para contornar a chamada de função normal e disciplina de retorno.
Variáveis de biblioteca
A seguir está o tipo de variável definido no cabeçalho setjmp.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | jmp_buf Este é um tipo de array usado para manter informações para macro setjmp() e função longjmp(). |
Macros de biblioteca
Existe apenas uma macro definida nesta biblioteca -
Sr. Não. | Macro e descrição |
---|---|
1 | int setjmp (ambiente jmp_buf) Esta macro salva o ambiente atual na variávelenvironment para uso posterior pela função longjmp(). Se esta macro retornar diretamente da chamada da macro, ela retornará zero, mas se retornar de umlongjmp() chamada de função, então um valor diferente de zero é retornado. |
Funções de biblioteca
A seguir está a única função definida no cabeçalho setjmp.h -
Sr. Não. | Descrição da função |
---|---|
1 | void longjmp (ambiente jmp_buf, valor int) Esta função restaura o ambiente salvo pela chamada mais recente para setjmp() macro na mesma invocação do programa com o correspondente jmp_buf argumento. |
o signal.h cabeçalho define um tipo de variável sig_atomic_t, duas chamadas de função e várias macros para lidar com diferentes sinais relatados durante a execução de um programa.
Variáveis de biblioteca
A seguir está o tipo de variável definido no cabeçalho do sinal.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | sig_atomic_t Este é de inttipo e é usado como uma variável em um manipulador de sinal. Este é um tipo integral de um objeto que pode ser acessado como uma entidade atômica, mesmo na presença de sinais assíncronos. |
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho signal.h e essas macros serão usadas em duas funções listadas abaixo. oSIG_ macros são usadas com a função de sinal para definir funções de sinal.
Sr. Não. | Macro e descrição |
---|---|
1 | SIG_DFL Manipulador de sinal padrão. |
2 | SIG_ERR Representa um erro de sinal. |
3 | SIG_IGN Sinal ignorar. |
o SIG macros são usadas para representar um número de sinal nas seguintes condições -
Sr. Não. | Macro e descrição |
---|---|
1 | SIGABRT Encerramento anormal do programa. |
2 | SIGFPE Erro de ponto flutuante, como divisão por zero. |
3 | SIGILL Operação ilegal. |
4 | SIGINT Sinal de interrupção, como ctrl-C. |
5 | SIGSEGV Acesso inválido ao armazenamento, como violação de segmento. |
6 | SIGTERM Pedido de rescisão. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho do sinal.h -
Sr. Não. | Descrição da função |
---|---|
1 | void (* signal (int sig, void (* func) (int))) (int) Esta função define uma função para tratar o sinal, ou seja, um tratador de sinal. |
2 | aumento int (int sig) Esta função causa sinal siga ser gerado. O argumento sig é compatível com as macros SIG. |
o stdarg.h cabeçalho define um tipo de variável va_list e três macros que podem ser usadas para obter os argumentos em uma função quando o número de argumentos não é conhecido, isto é, número variável de argumentos.
Uma função de argumentos variáveis é definida com reticências (, ...) no final da lista de parâmetros.
Variáveis de biblioteca
A seguir está o tipo de variável definido no cabeçalho stdarg.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | va_list Este é um tipo adequado para armazenar informações necessárias para as três macros va_start(), va_arg() e va_end(). |
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho stdarg.h -
Sr. Não. | Macro e descrição |
---|---|
1 | void va_start (va_list ap, last_arg) Esta macro inicializa ap variável a ser usada com o va_arg e va_endmacros. olast_arg é o último argumento fixo conhecido sendo passado para a função, ou seja, o argumento antes das reticências. |
2 | tipo va_arg (va_list ap, tipo) Esta macro recupera o próximo argumento na lista de parâmetros da função com tipo type. |
3 | void va_end (va_list ap) Esta macro permite uma função com argumentos variáveis que usaram o va_startmacro para retornar. E seva_end não é chamado antes de retornar da função, o resultado é indefinido. |
o stddef.hheader define vários tipos de variáveis e macros. Muitas dessas definições também aparecem em outros cabeçalhos.
Variáveis de biblioteca
A seguir estão os tipos de variáveis definidos no cabeçalho stddef.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | ptrdiff_t Este é o tipo integral com sinal e é o resultado da subtração de dois ponteiros. |
2 | size_t Este é o tipo integral sem sinal e é o resultado do sizeof palavra-chave. |
3 | wchar_t Este é um tipo integral do tamanho de uma constante de caractere ampla. |
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho stddef.h -
Sr. Não. | Macro e descrição |
---|---|
1 | NULO Esta macro é o valor de uma constante de ponteiro nulo. |
2 | offsetof (tipo, membro-designador) Isso resulta em um número inteiro constante do tipo size_t, que é o deslocamento em bytes de um membro da estrutura desde o início da estrutura. O membro é fornecido pelo membro designador e o nome da estrutura é fornecido em tipo . |
o stdio.h header define três tipos de variáveis, várias macros e várias funções para realizar entrada e saída.
Variáveis de biblioteca
A seguir estão os tipos de variáveis definidos no cabeçalho stdio.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | size_t Este é o tipo integral sem sinal e é o resultado do sizeof palavra-chave. |
2 | FILE Este é um tipo de objeto adequado para armazenar informações para um fluxo de arquivos. |
3 | fpos_t Este é um tipo de objeto adequado para armazenar qualquer posição em um arquivo. |
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho stdio.h -
Sr. Não. | Macro e descrição |
---|---|
1 | NULL Esta macro é o valor de uma constante de ponteiro nulo. |
2 | _IOFBF, _IOLBF e _IONBF Estas são as macros que se expandem para expressões constantes integrais com valores distintos e adequadas para o uso como terceiro argumento para o setvbuf função. |
3 | BUFSIZ Esta macro é um número inteiro, que representa o tamanho do buffer usado pelo setbuf função. |
4 | EOF Esta macro é um número inteiro negativo, que indica que o fim do arquivo foi atingido. |
5 | FOPEN_MAX Esta macro é um número inteiro, que representa o número máximo de arquivos que o sistema pode garantir que serão abertos simultaneamente. |
6 | FILENAME_MAX Esta macro é um inteiro, que representa o comprimento mais longo de uma matriz de caracteres adequada para conter o nome de arquivo mais longo possível. Se a implementação não impõe limite, esse valor deve ser o valor máximo recomendado. |
7 | L_tmpnam Esta macro é um inteiro, que representa o comprimento mais longo de uma matriz de char adequada para armazenar o nome de arquivo temporário mais longo possível criado pelo tmpnam função. |
8 | SEEK_CUR, SEEK_END, e SEEK_SET Essas macros são usadas no fseek função para localizar diferentes posições em um arquivo. |
9 | TMP_MAX Esta macro é o número máximo de nomes de arquivos únicos que a função tmpnam pode gerar. |
10 | stderr, stdin, e stdout Essas macros são ponteiros para tipos de ARQUIVOS que correspondem ao erro padrão, entrada padrão e fluxos de saída padrão. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho stdio.h -
Siga a mesma sequência de funções para melhor compreender e fazer uso de Try itOpção (compilador online), pois o arquivo criado na primeira função será utilizado nas funções subsequentes.
Sr. Não. | Descrição da função |
---|---|
1 | int fclose (FILE * stream) Fecha o fluxo. Todos os buffers são liberados. |
2 | void clearerr (FILE * stream) Limpa os indicadores de fim de arquivo e erro para o fluxo fornecido. |
3 | int feof (FILE * stream) Testa o indicador de fim de arquivo para o fluxo fornecido. |
4 | int ferror (FILE * stream) Testa o indicador de erro para o fluxo fornecido. |
5 | int fflush (FILE * stream) Libera o buffer de saída de um fluxo. |
6 | int fgetpos (FILE * stream, fpos_t * pos) Obtém a posição atual do arquivo do stream e grava na pos. |
7 | FILE * fopen (const char * filename, modo const char *) Abre o nome do arquivo apontado por nome do arquivo usando o modo fornecido. |
8 | size_t fread (void * ptr, size_t size, size_t nmemb, FILE * stream) Lê os dados de um determinado fluxo no array apontado por ptr. |
9 | FILE * freopen (const char * filename, const char * modo, FILE * stream) Associa um novo nome de arquivo ao fluxo aberto fornecido e ao mesmo tempo fecha o arquivo antigo no fluxo. |
10 | int fseek (FILE * stream, long int offset, int whence) Define a posição do arquivo do fluxo para o deslocamento determinado. O deslocamento do argumento significa o número de bytes a serem buscados na posição de origem fornecida . |
11 | int fsetpos (FILE * stream, const fpos_t * pos) Define a posição do arquivo do fluxo fornecido para a posição fornecida. O argumento pos é uma posição dada pela função fgetpos. |
12 | long int ftell (FILE * stream) Retorna a posição atual do arquivo do fluxo fornecido. |
13 | size_t fwrite (const void * ptr, size_t size, size_t nmemb, FILE * stream) Grava os dados da matriz apontada por ptr para o fluxo fornecido. |
14 | int remove (const char * filename) Exclui o nome do arquivo fornecido para que não fique mais acessível. |
15 | renomear int (const char * old_filename, const char * new_filename) Faz com que o nome do arquivo referido por old_filename seja alterado para new_filename. |
16 | void rewind (FILE * stream) Define a posição do arquivo no início do arquivo do fluxo fornecido. |
17 | void setbuf (FILE * stream, char * buffer) Define como um fluxo deve ser armazenado em buffer. |
18 | int setvbuf (FILE * stream, char * buffer, modo int, size_t size) Outra função para definir como um fluxo deve ser armazenado em buffer. |
19 | FILE * tmpfile (vazio) Cria um arquivo temporário no modo de atualização binária (wb +). |
20 | char * tmpnam (char * str) Gera e retorna um nome de arquivo temporário válido que não existe. |
21 | int fprintf (fluxo FILE *, formato const char *, ...) Envia saída formatada para um fluxo. |
22 | int printf (formato const char *, ...) Envia saída formatada para stdout. |
23 | int sprintf (formato char * str, const char * format, ...) Envia saída formatada para uma string. |
24 | int vfprintf (FILE * stream, formato const char *, argumento va_list) Envia saída formatada para um fluxo usando uma lista de argumentos. |
25 | int vprintf (formato const char *, arg va_list) Envia saída formatada para stdout usando uma lista de argumentos. |
26 | int vsprintf (char * str, const char * format, va_list arg) Envia saída formatada para uma string usando uma lista de argumentos. |
27 | int fscanf (FILE * stream, const char * format, ...) Lê a entrada formatada de um fluxo. |
28 | int scanf (formato const char *, ...) Lê a entrada formatada de stdin. |
29 | int sscanf (const char * str, const char * format, ...) Lê a entrada formatada de uma string. |
30 | int fgetc (FILE * stream) Obtém o próximo caractere (um caractere não assinado) do fluxo especificado e avança o indicador de posição para o fluxo. |
31 | char * fgets (char * str, int n, FILE * stream) Lê uma linha do fluxo especificado e a armazena na string apontada por str. Ele para quando um dos (n-1) caracteres são lidos, o caractere de nova linha é lido ou o final do arquivo é alcançado, o que ocorrer primeiro. |
32 | int fputc (int char, FILE * stream) Grava um caractere (um char não assinado) especificado pelo argumento char para o fluxo especificado e avança o indicador de posição para o fluxo. |
33 | int fputs (const char * str, FILE * stream) Grava uma string no fluxo especificado, mas não inclui o caractere nulo. |
34 | int getc (FILE * stream) Obtém o próximo caractere (um caractere não assinado) do fluxo especificado e avança o indicador de posição para o fluxo. |
35 | int getchar (void) Obtém um caractere (um char não assinado) de stdin. |
36 | char * gets (char * str) Lê uma linha de stdin e a armazena na string apontada por, str. Ele para quando o caractere de nova linha é lido ou quando o fim do arquivo é alcançado, o que ocorrer primeiro. |
37 | int putc (int char, FILE * stream) Grava um caractere (um char não assinado) especificado pelo argumento char para o fluxo especificado e avança o indicador de posição para o fluxo. |
38 | int putchar (int char) Grava um caractere (um char sem sinal) especificado pelo argumento char para stdout. |
39 | int puts (const char * str) Grava uma string para stdout até, mas não incluindo o caractere nulo. Um caractere de nova linha é acrescentado à saída. |
40 | int ungetc (int char, FILE * stream) Empurra o caractere char (um caractere não assinado) no fluxo especificado para que o próximo caractere seja lido. |
41 | void perror (const char * str) Imprime uma mensagem de erro descritiva para stderr. Primeiro, a string str é impressa seguida por dois pontos e, em seguida, um espaço. |
o stdlib.h header define quatro tipos de variáveis, várias macros e várias funções para executar funções gerais.
Variáveis de biblioteca
A seguir estão os tipos de variáveis definidos no cabeçalho stdlib.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | size_t Este é o tipo integral sem sinal e é o resultado do sizeof palavra-chave. |
2 | wchar_t Este é um tipo inteiro do tamanho de um wide constante de personagem. |
3 | div_t Esta é a estrutura retornada pelo div função. |
4 | ldiv_t Esta é a estrutura retornada pelo ldiv função. |
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho stdlib.h -
Sr. Não. | Macro e descrição |
---|---|
1 | NULL Esta macro é o valor de uma constante de ponteiro nulo. |
2 | EXIT_FAILURE Este é o valor para a função de saída retornar em caso de falha. |
3 | EXIT_SUCCESS Este é o valor para a função de saída retornar em caso de sucesso. |
4 | RAND_MAX Esta macro é o valor máximo retornado pela função rand. |
5 | MB_CUR_MAX Esta macro é o número máximo de bytes em um conjunto de caracteres multibyte que não pode ser maior que MB_LEN_MAX. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho stlib.h -
Sr. Não. | Descrição da função |
---|---|
1 | double atof (const char * str) Converte a string apontada pelo argumento str em um número de ponto flutuante (digite double). |
2 | int atoi (const char * str) Converte a string apontada pelo argumento str em um inteiro (digite int). |
3 | long int atol (const char * str) Converte a string apontada pelo argumento str em um inteiro longo (digite long int). |
4 | strtod duplo (const char * str, char ** endptr) Converte a string apontada pelo argumento str em um número de ponto flutuante (digite double). |
5 | long int strtol (const char * str, char ** endptr, int base) Converte a string apontada pelo argumento str em um inteiro longo (digite long int). |
6 | unsigned long int strtoul (const char * str, char ** endptr, int base) Converte a string apontada pelo argumento str em um inteiro longo sem sinal (digite int longo sem sinal). |
7 | void * calloc (size_t nitems, size_t size) Aloca a memória solicitada e retorna um ponteiro para ela. |
8 | void free (void * ptr Desaloca a memória alocada anteriormente por uma chamada para calloc, malloc ou realloc . |
9 | void * malloc (size_t size) Aloca a memória solicitada e retorna um ponteiro para ela. |
10 | void * realloc (void * ptr, size_t size) Tenta redimensionar o bloco de memória apontado por ptr que foi alocado anteriormente com uma chamada para malloc ou calloc . |
11 | void abort (void) Causa o encerramento anormal do programa. |
12 | int atexit (void (* func) (void)) Faz com que a função especificada func a ser chamado quando o programa termina normalmente. |
13 | void exit (int status) Faz com que o programa seja encerrado normalmente. |
14 | char * getenv (const char * name) Pesquisa a string de ambiente apontada por nome e retorna o valor associado à string. |
15 | sistema interno (const char * string) O comando especificado por string é passado para o ambiente host para ser executado pelo processador de comando. |
16 | void * bsearch (const void * key, const void * base, size_t nitems, size_t size, int (* compar) (const void *, const void *)) Executa uma pesquisa binária. |
17 | void qsort (void * base, size_t nitems, size_t size, int (* compar) (const void *, const void *)) Classifica uma matriz. |
18 | abs int (int x) Retorna o valor absoluto de x. |
19 | div_t div (int numer, int denom) Divide o número (numerador) por denom (denominador). |
20 | long int labs (long int x) Retorna o valor absoluto de x. |
21 | ldiv_t ldiv (número int longo, denom int longo) Divide o número (numerador) por denom (denominador). |
22 | int rand (vazio) Retorna um número pseudo-aleatório no intervalo de 0 a RAND_MAX . |
23 | void srand (semente int sem sinal) Esta função semeia o gerador de números aleatórios usado pela função rand. |
24 | int mblen (const char * str, size_t n) Retorna o comprimento de um caractere multibyte apontado pelo argumento str . |
25 | size_t mbstowcs (schar_t * pwcs, const char * str, size_t n) Converte a string de caracteres multibyte apontada pelo argumento str na matriz apontada por pwcs . |
26 | int mbtowc (whcar_t * pwc, const char * str, size_t n) Examina o caractere multibyte apontado pelo argumento str . |
27 | size_t wcstombs (char * str, const wchar_t * pwcs, size_t n) Converte os códigos armazenados na matriz pwcs em caracteres multibyte e os armazena na string str . |
28 | int wctomb (char * str, wchar_t wchar) Examina o código que corresponde a um caractere multibyte fornecido pelo argumento wchar . |
o string.h header define um tipo de variável, uma macro e várias funções para manipular matrizes de caracteres.
Variáveis de biblioteca
A seguir está o tipo de variável definido no cabeçalho string.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | size_t Este é o tipo integral sem sinal e é o resultado do sizeof palavra-chave. |
Macros de biblioteca
A seguir está a macro definida na string de cabeçalho.h -
Sr. Não. | Macro e descrição |
---|---|
1 | NULL Esta macro é o valor de uma constante de ponteiro nulo. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho string.h -
Sr. Não. | Descrição da função |
---|---|
1 | void * memchr (const void * str, int c, size_t n) Pesquisa a primeira ocorrência do caractere c (um caractere sem sinal) nos primeiros n bytes da string apontada, pelo argumento str . |
2 | int memcmp (const void * str1, const void * str2, size_t n) Compara os primeiros n bytes de str1 e str2 . |
3 | void * memcpy (void * dest, const void * src, size_t n) Copia n caracteres de src para dest . |
4 | void * memmove (void * dest, const void * src, size_t n) Outra função para copiar n caracteres de str2 para str1 . |
5 | void * memset (void * str, int c, size_t n) Copia o caractere c (um caractere sem sinal) para os primeiros n caracteres da string apontada pelo argumento str . |
6 | char * strcat (char * dest, const char * src) Anexa a string apontada por src ao final da string apontada por dest . |
7 | char * strncat (char * dest, const char * src, size_t n) Anexa a string apontada por src ao final da string apontada por dest até n caracteres de comprimento. |
8 | char * strchr (const char * str, int c) Pesquisa a primeira ocorrência do caractere c (um caractere sem sinal) na string apontada pelo argumento str . |
9 | int strcmp (const char * str1, const char * strcmp) Compara a string apontada por str1 com a string apontada por str2 . |
10 | int strncmp (const char * str1, const char * str2, size_t n) Compara no máximo os primeiros n bytes de str1 e str2 . |
11 | int strcoll (const char * str1, const char * strcoll) Compara string str1 com str2 . O resultado depende da configuração LC_COLLATE do local. |
12 | char * strcpy (char * dest, const char * src) Copia a string apontada, de src para dest . |
13 | char * strncpy (char * dest, const char * src, size_t n) Copia até n caracteres da string apontada, de src para dest . |
14 | size_t strcspn (const char * str1, const char * str2) Calcula o comprimento do segmento inicial de str1, que consiste inteiramente em caracteres que não estão em str2. |
15 | char * strerror (int errnum) Pesquisa uma matriz interna para o número de erro errnum e retorna um ponteiro para uma string de mensagem de erro. |
16 | size_t strlen (const char * str) Calcula o comprimento da string str até mas não incluindo o caractere nulo de terminação. |
17 | char * strpbrk (const char * str1, const char * strpbrk) Encontra o primeiro caractere na string str1 que corresponde a qualquer caractere especificado em str2 . |
18 | char * strrchr (const char * str, int c) Pesquisa a última ocorrência do caractere c (um caractere sem sinal) na string apontada pelo argumento str . |
19 | size_t strspn (const char * str1, const char * strspn) Calcula o comprimento do segmento inicial de str1, que consiste inteiramente em caracteres em str2 . |
20 | char * strstr (const char * haystack, const char * agulha) Encontra a primeira ocorrência de toda a agulha da corda (sem incluir o caractere nulo de terminação) que aparece no palheiro da corda . |
21 | char * strtok (char * str, const char * delim) Quebra a string str em uma série de tokens separados por delim . |
22 | size_t strxfrm (char * dest, const char * src, size_t n) Transforma o primeiro n caracteres da string src no local atual e os coloca na string dest. |
o time.h header define quatro tipos de variáveis, duas macros e várias funções para manipulação de data e hora.
Variáveis de biblioteca
A seguir estão os tipos de variáveis definidos no cabeçalho time.h -
Sr. Não. | Variável e Descrição |
---|---|
1 | size_t Este é o tipo integral sem sinal e é o resultado do sizeof palavra-chave. |
2 | clock_t Este é um tipo adequado para armazenar o tempo do processador. |
3 | time_t is Este é um tipo adequado para armazenar a hora do calendário. |
4 | struct tm Esta é uma estrutura usada para armazenar a hora e a data. |
A estrutura tm tem a seguinte definição -
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 seguir estão as macros definidas no cabeçalho time.h -
Sr. Não. | Macro e descrição |
---|---|
1 | NULL Esta macro é o valor de uma constante de ponteiro nulo. |
2 | CLOCKS_PER_SEC Esta macro representa o número de clocks do processador por segundo. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho time.h -
Sr. Não. | Descrição da função |
---|---|
1 | char * asctime (const struct tm * timeptr) Retorna um ponteiro para uma string que representa o dia e a hora da estrutura timeptr. |
2 | clock_t clock (vazio) Retorna o tempo do clock do processador usado desde o início de uma era definida pela implementação (normalmente o início do programa). |
3 | char * ctime (const time_t * timer) Retorna uma string que representa a hora local com base no cronômetro do argumento. |
4 | double difftime (time_t time1, time_t time2) Retorna a diferença de segundos entre time1 e time2 (time1-time2). |
5 | struct tm * gmtime (const time_t * timer) O valor do cronômetro é dividido na estrutura tm e expresso em Coordinated Universal Time (UTC), também conhecido como Greenwich Mean Time (GMT). |
6 | struct tm * localtime (const time_t * timer) O valor do temporizador é dividido na estrutura tm e expresso no fuso horário local. |
7 | time_t mktime (struct tm * timeptr) Converte a estrutura apontada por timeptr em um valor time_t de acordo com o fuso horário local. |
8 | size_t strftime (char * str, size_t maxsize, const char * formato, const struct tm * timeptr) Formata a hora representada na estrutura timeptr de acordo com as regras de formatação definidas em format e armazenadas em str. |
9 | time_t time (time_t * timer) Calcula a hora atual do calendário e a codifica no formato time_t. |