preadはオフセットを指定してファイルを読み書きできるように、readシステムコールを改変したものです。
#define _XOPEN_SOURCE 500 #include < unistd.h > #include < sys/types.h > #include < sys/stat.h > #include < fcntl.h > #include < stdio.h > int main() { int fd_r, fd_w; ssize_t n; char buf[256]; if ((fd_r = open("file1.txt", O_RDONLY)) < 0){ perror("open(file1.txt)"); return 1; } if ((fd_w = open("file2.txt", O_WRONLY|O_CREAT, 0666)) < 0){ perror("open(file2.txt)"); return 1; } if ((n = pread(fd_r, buf, sizeof buf, 10))< 0){ perror("pread"); return 1; } if (pwrite(fd_w, buf, n, 10)<0) { perror("pwrite"); return 1; } return 0; }