// kompilacia: gcc -o priklad6 priklad6.c #include #include #include #include int main () { int fd; FILE * fp; fd = open("foo", O_WRONLY | O_CREAT, 0644); if (fd < 0) { perror("foo"); exit(EXIT_FAILURE); } write(fd, "prvy riadok\n", 12); fp = fdopen(fd, "w"); fd = -1000; // teraz uz mozme zabudnut hodnotu fd if (!fp) { perror("foo"); exit(EXIT_FAILURE); } fprintf(fp, "druhy riadok\n"); fflush(fp); fd = fileno(fp); // naspat ziskame hodnotu fd if (fd < 0) { perror("fileno"); exit(EXIT_FAILURE); } write(fd, "treti riadok\n", 13); close(fd); exit(EXIT_SUCCESS); }