#include // open, close, O_RDONLY #include // read #include // printf, perror int main(int argc, char* argv[]) { int f1 = open(argv[1], O_RDONLY); if (f1 < 0) { perror("open"); return 1; } int f2 = dup(f1); if (f2 < 0) { perror("dup"); return 2; } int readTimes = 10; // няколко пъти char buf1, buf2; while (readTimes > 0 && read(f1, &buf1, 1) && read(f2, &buf2, 1)) { printf("%c%c", buf1, buf2); readTimes--; } close(f1); while (read(f2, &buf2, 1)) { printf("%c", buf2); } close(f2); }