1 // kompilacia: gcc -o priklad2 priklad2.c 2 3 #include <errno.h> 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <fcntl.h> 7 8 int main (int argc, char ** argv) { 9 FILE * fp; 10 11 if (argc < 2) { 12 printf("nezadali ste nazov suboru\n\n"); 13 exit(EXIT_FAILURE); 14 } 15 16 fp = fopen(argv[1], "r"); 17 18 if (fp == NULL) { 19 int errno_z_fopen = errno; 20 21 perror("\npouzitie perror"); 22 23 char * msg_strerror = (char *) strerror(errno_z_fopen); 24 printf("\nstrerror(%i): %s\n", errno_z_fopen, msg_strerror); 25 26 char * msg_strerror_r = malloc(10); 27 msg_strerror_r = (char *) strerror_r(errno_z_fopen, msg_strerror_r, 10); 28 printf("\nstrerror(%i, %p, 10) = %s\n\n", errno_z_fopen, msg_strerror_r, msg_strerror_r); 29 30 exit(EXIT_FAILURE); 31 } else { 32 printf("subor sa uspesne podarilo otvorit na citanie\n\n"); 33 fclose(fp); 34 35 exit(EXIT_SUCCESS); 36 } 37 }