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.
void perror (const char * string);
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.
Nenhum.
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;
}