1 // kompilacia: gcc -o priklad6 priklad6.c 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <fcntl.h> 6 #include <errno.h> 7 8 int main () { 9 int fd; 10 FILE * fp; 11 12 fd = open("foo", O_WRONLY | O_CREAT, 0644); 13 if (fd < 0) { 14 perror("foo"); 15 exit(EXIT_FAILURE); 16 } 17 write(fd, "prvy riadok\n", 12); 18 19 fp = fdopen(fd, "w"); 20 21 fd = -1000; // teraz uz mozme zabudnut hodnotu fd 22 23 if (!fp) { 24 perror("foo"); 25 exit(EXIT_FAILURE); 26 } 27 fprintf(fp, "druhy riadok\n"); 28 fflush(fp); 29 30 fd = fileno(fp); // naspat ziskame hodnotu fd 31 if (fd < 0) { 32 perror("fileno"); 33 exit(EXIT_FAILURE); 34 } 35 write(fd, "treti riadok\n", 13); 36 close(fd); 37 38 exit(EXIT_SUCCESS); 39 } 40