How to print the errno value and the error messages (error handling) in C

2 Answers

0 votes
#include <stdio.h>
#include <string.h>
#include <errno.h>
 
int main()
{
    FILE *fp;
  
    // 2 - No such file or directory 
    fp = fopen("d:\\data-----txt", "r");
  
    printf("errno: %d\n", errno);
    printf("error message: %s\n", strerror(errno));
    
    return 0;
}



 
/*
run:
   
errno: 2
error message: No such file or directory
  
*/

 



answered Jul 6, 2018 by avibootz
edited Apr 19, 2024 by avibootz
0 votes
#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <string.h>
 
int main(void)
{
    errno = 0;
    printf("log(-1.0) = %f\n", log(-1.0));
    printf("errno: %d\n", errno);
    printf("error message: %s\n", strerror(errno));

    errno = 0;
    printf("log(0.0)  = %f\n", log(0.0));
    printf("errno: %d\n", errno);
    printf("error message: %s\n", strerror(errno));
}

  
  
  
/*
run:
  
log(-1.0) = -nan
errno: 33
error message: Numerical argument out of domain
log(0.0)  = -inf
errno: 34
error message: Numerical result out of range
  
*/

 



answered Apr 19, 2024 by avibootz

Related questions

1 answer 207 views
1 answer 119 views
119 views asked May 18, 2023 by avibootz
2 answers 102 views
102 views asked Nov 28, 2024 by avibootz
2 answers 327 views
327 views asked Sep 26, 2020 by avibootz
1 answer 114 views
...