w3resource

C perror() function

C library function - perror()

The perror() function is used to print an error message to stderr based on the error state stored in errno. The string pointed to by string, followed by a colon and a space, is printed to the standard error stream if string is not NULL.

Syntax:

void perror(const char *str)

Parameters:

Name Description Required /Optional
str Contains a custom message. Required

Return value

  • This function does not return any value.

Example: The following example shows the usage of perror() function.

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
   FILE *fh;
 
   if ((fh = fopen("test1.txt","r")) == NULL)
   {
      perror("Can not open the said file.");
   }
   return 0;
}

Output:

Can not open the said file.: No such file or directory

C Programming Code Editor:

Previous C Programming: C puts()



Follow us on Facebook and Twitter for latest update.

C Programming: Tips of the Day

Reading a string with scanf :

An array "decays" into a pointer to its first element, so scanf("%s", string) is equivalent to scanf("%s", &string[0]). On the other hand, scanf("%s", &string) passes a pointer-to-char[256], but it points to the same place.

Then scanf, when processing the tail of its argument list, will try to pull out a char *. That's the Right Thing when you've passed in string or &string[0], but when you've passed in &string you're depending on something that the language standard doesn't guarantee, namely that the pointers &string and &string[0] -- pointers to objects of different types and sizes that start at the same place -- are represented the same way.

Ref : https://bit.ly/3pdEk6f