perror  função

A função perror mapeia o erro numérico, contido na variável global errno, para uma mensagem de erro. Em seguida, a função imprime essa mensagem de erro na saída de erro padrão (stderr).

A função escreve a cadeia de caracteres indicada no parâmetro string, então escreve dois pontos (:) e um espaço, seguido da mensagem de erro associada ao último erro numérico, seguido de uma nova linha. O formato é o seguinte: "string: mensagem_de_erro\n". Se o parâmetro string for nulo, a parte "string :" é omitida e apenas a mensagem de erro é impressa.

O conteúdo da mensagem de erro é o retornado pela função strerror, chamada com o argumento errno. A função deve ser chamada logo após a causa do erro, pois o erro numérico pode ser sobrescrito por outras funções da biblioteca padrão do C, mesmo que um erro não ocorra.

Protótipo

void perror (const char * string);

Parâmetros

string - Cadeia de caracteres personalizada que precede o erro. Por convenção, usa-se o nome da aplicação. Caso seja NULL, imprime apenas o erro.

Valor de retorno

Nenhum.

Exemplo

Saída, caso o arquivo não exista: "Erro ao abrir arquivo.txt: No such file or directory"

#include <stdio.h>

int main() {
    FILE* arquivo = fopen("arquivo.txt", "r");
    if(arquivo == NULL) {
        perror("Erro ao abrir arquivo.txt");
        return 1;
    }
    
    fclose(arquivo);

    return 0;
}
Veja também

ferror função

clearerr função