perror() in C
Last Updated :
03 Feb, 2025
Improve
In C, perror() is a built-in function used to display a custom text description of the error code, which is stored in the system variable errno.
Example:
#include <stdio.h>
int main() {
FILE *fptr = fopen("gfg.text", "rw+");
// print error
if(fptr == NULL)
perror("An error occurred");
return 0;
}
Output
An error occurred: No such file or directory
Table of Content
Syntax
clearerr() is a standard library function defined in <stdio.h> file.
perror("message");
This function does not return any value.
Examples of perror()
The following examples demonstrate the use of perror() in our C programs:
Handle Memory Allocation Error
#include <stdio.h>
#include <stdlib.h>
int main() {
size_t size = 1e18;
void *ptr = malloc(size);
if (ptr == NULL) {
// Print memory allocation error using
// perror()
perror("Memory allocation failed");
}
else {
free(ptr);
}
return 0;
}
Output
Memory allocation failed: Cannot allocate memory
Handle Insufficient Permission Error
#include <stdio.h>
int main() {
FILE *file = fopen("/root/protected.txt", "w");
if (file == NULL) {
perror("Error creating file");
return 1;
}
fclose(file);
return 0;
}
Output
Error creating file: Permission denied