APUE-3.2创建一个具有空洞的文件

来源:互联网 发布:手机测量海拔高度软件 编辑:程序博客网 时间:2024/06/05 07:49

创建文件Create_file_with_hole.c,内容为

#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "apue.h"char buf1[] = "abcdefghij";char buf2[] = "ABCDEFGHIJ";intmain(void) {    int fd;    if ( (fd = creat("file.hole", FILE_MODE)) < 0)        err_sys("creat error");    if (write(fd, buf1, 10) != 10)        err_sys("buf1 write error");    /* offset now = 10 */    if (lseek(fd, 40, SEEK_SET) == -1)        err_sys("lseek error");    /* offset now = 40 */    if (write(fd, buf2, 10) != 10)        err_sys("buf2 write error");    /* offset now = 50 */    exit(0);}
  • 编译
gcc Create_file_with_hole.c -o Create_file_with_hole -lapue
  • 执行
./Create_file_with_hole//od命令用来观察该文件的实际内容,-c表示以字符方式打印文件内容od -c file.hole

编译,执行结果为
这里写图片描述

原创粉丝点击