Os valores errno com erros adequados são necessários. Uma string de mensagem de erro específica para localidade não é produzida por esta função. A biblioteca contém variáveis e funções destinadas a simplificar para o seu programa fornecer falha detalhada da mensagem de erro por parte de uma chamada da biblioteca no formato usual. Você pode obter a mensagem de erro padrão para um determinado código de erro usando os métodos STRERROR, e você pode obter rapidamente o nome do programa que cometeu o erro usando o nome da variável Invocação. Vamos investigar a função Strerror da linguagem C em mais detalhes.
Sintaxe da função estérror na linguagem C
Usamos a seguinte sintaxe da função strerror () na linguagem C. A string que explica o erro é obtida usando esta sintaxe Strerror.
char *strerror (int errnum);
Temos apenas um argumento que a função Strerror leva. O argumento é errnum: um erro específico para o qual você gostaria de receber a mensagem de erro. Se o erro de tempo de execução for desconhecido, a função strerror () fornece uma mensagem de erro desconhecida. Caso contrário, ele fornece a string de descrição de erro relevante.
O valor do ERRNO permanece inalterado se a operação for bem -sucedida; Caso contrário, é alterado para um valor diferente de zero. Além disso, a função Strerror gera dois erros, Einval e Erange. Se o valor do errnum for um número de erro inválido, o erro de einval será lançado. Quando o erro Descrição String não pôde ser armazenado no armazenamento fornecido, o erro gerado é Erange.
Exemplo 1
Aqui, demonstramos a utilização da função Strerror. Utilizaremos isso em nosso programa C para gerar o erro na execução. Vamos discutir a implementação para esta função estérror. Somos obrigados a incluir alguns arquivos de cabeçalho da biblioteca de C, necessários para esta implementação de código.
Primeiro, inserimos o stdio.H Arquivo de cabeçalho. Devemos incluir o arquivo de cabeçalho stdio.h para adicionar os métodos relacionados à entrada/saída em nosso programa. Então, a corda.h é adicionado após o stdio.H Arquivo de cabeçalho. O cabeçalho da biblioteca padrão C é chamado de string.h. No entanto, o nome é um pouco enganoso porque compreende declarações de macro, constantes e declarações de métodos e tipos, eles são usados para lidar com várias funções de manuseio de memória, além de gerenciar strings. Como esse é o código da função Strerror para acessar esta função, precisamos importar um erro.arquivo h para esta função.
A biblioteca padrão da linguagem de programação C contém o arquivo de cabeçalho Errno.h. Ele define macros com o símbolo ERRNO para relatar e recuperar circunstâncias de erro (abreviação para o "número de erro"). Certas funções da biblioteca que detectam erros salvam um valor de modo que o número de erro esteja na variável errno. Os únicos valores que a loja de funções da biblioteca são maiores que zero.
Independentemente de eles perceberem erros, qualquer função da biblioteca pode alterar o valor que é salvo antes de retornar. A maioria das funções relata erros retornando um valor específico, geralmente nulo para métodos que retornam ponteiros e -1 para métodos que retornam números inteiros. O chamador de algumas funções deve definir errno como 0 e examiná -lo depois para verificar se um erro foi encontrado.
#incluir
#incluir
#incluir
int main ()
Arquivo *fp;
fp = fopen ("arquivo.txt "," r ");
if (fp == null)
printf ("erro: %s \ n", strerror (errno));
retornar (0);
Depois de incluir o arquivo de cabeçalho, temos a principal declaração de função. Na seção de função principal, criamos o ponteiro de arquivo "FP" com o objeto de arquivo. O arquivo é atribuído um nome de arquivo com o modo de leitura dentro da função FOPEN se a condição for aplicada à variável do ponteiro FP. Se o FP for encontrado nulo, a instrução PRIMF será executada, que tem a função Strerror. A função Strerror toma o errno como um argumento e retorna isso em um formulário de string.
Como estamos tentando abrir um arquivo que não está presente, vamos compilar e executar o programa mencionado acima, o que resultará no seguinte resultado:
Exemplo 2
Como o código anterior gera a sequência de erros quando isso ocorre. Também podemos definir o erro da string por nós mesmos. Temos que definir a sequência de erros primeiro com o errno.
int main (int argc, char *argv [])
Arquivo *fout;
int last_error = 0;
if ((fout = fopen (argv [1], "w")) == null)
last_error = errno;
errno = 0;
if (last_error)
fprintf (stderr, "FOPEN: não pôde abrir %s para escrever: %s",
argv [1], strerror (last_error));
fputs ("Continue… \ n", stderr);
return exit_success;
Inserimos vários arquivos de cabeçalho para este exemplo de código e cada um tem sua funcionalidade e propósito. Então, estabelecemos a função principal. O FOUT é criado como a variável de ponteiro e o último_error também é declarado como a variável, que é atribuída com o valor 0. As expressões aninhadas se forem utilizadas aqui. Se a condição last_errrror for combinada com o Errorno, podemos especificar o último_error na função Strerror.
O erro da string definido pelo usuário é produzido quando o código anterior é executado, como mostrado abaixo:
Conclusão
O principal objetivo do guia é educá -lo sobre o Strherror em C Linguagem. Utilizando o erro.H Arquivo de cabeçalho no código, podemos acessar facilmente a função Strerror. A sintaxe é muito fácil de entender. Aqui, discutimos dois exemplos que explicarão o uso do Strerror na linguagem C. Também podemos criar ou definir o erro no erro da string que queremos exibir.