Open In App

perror() in C

Last Updated : 03 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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:

C
#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

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

C
#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

C
#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

Next Article

Similar Reads