访问大文件

//访问大文件
#define _LARGEFILE64_SOURCE
#include <sys/stat.h>
#include <fcntl.h>
#include "tlpi_hdr.h"
#define EXIT_SUCESS 0

int
main(int argc, char *argv[])
{
    int fd;
    off64_t off;
    if (argc != 3 || strcmp(argv[1],"--help") == 0)
        usageErr("%s pathname offset\n",argv[0]);

    fd = open64(argv[1],O_RDWR|O_CREAT,S_IRUSR | S_IWUSR);

    if (fd == -1)
        errExit("open64");

    off = atoll(argv[2]);
    if (lseek64(fd,off,SEEK_SET) == -1)
        errExit("lseek64");

    if (write(fd,"test",4) == -1)
        errExit("write");
    exit(EXIT_SUCESS);
}
/*
 程序测试示例:
 [root@localhost linux-test]# gl++ test.c
[root@localhost linux-test]# echo "hello world" > a.txt
[root@localhost linux-test]# cat a.txt
hello world
[root@localhost linux-test]#  ./a.out a.txt "hello world"
[root@localhost linux-test]# cat a.txt
testo world
 */

Guess you like

Origin blog.csdn.net/liao__ran/article/details/108871360