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

file/hole.c

#include "apue.h"
#include <fcntl.h>
char	buf1[] = "abcdefghij";
char	buf2[] = "ABCDEFGHIJ";
int
main(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, 16384, SEEK_SET) == -1)
		err_sys("lseek error");
	/* offset now = 16384 */
	if (write(fd, buf2, 10) != 10)
		err_sys("buf2 write error");
	/* offset now = 16394 */
	exit(0);
}
posted @ 2014-07-16 23:11  paullam  阅读(201)  评论(0编辑  收藏  举报