/* Copyright (C) 2008 Emmanuel Varoquaux
This file is part of XOS.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see . */
/* un fichier test.txt contenant "hello world !\n" doit etre present dans le
* repertoire. */
#include
#include
#include
static void die(const char *msg)
{
fprintf(stderr, "%s\n", msg);
_exit(1);
}
int main()
{
int fd;
struct stat statbuf;
char buf[16];
if ((fd = open("test.txt", O_RDWR)) < 0)
die("open failed");
if (lseek(fd, 100, SEEK_SET) != 100)
die("seek failed");
if (write(fd, "youpi", 5) != 5)
die("write failed");
if (fstat(fd, &statbuf) < 0)
die("stat failed");
printf("%ld\n", statbuf.st_size);
if (lseek(fd, 0, SEEK_SET) != 0)
die("seek failed");
if (read(fd, buf, 13) != 13)
die("read failed");
printf("%s\n", buf);
if (read(fd, buf, 3) != 3)
die("read failed");
printf("%02x %02x %02x\n", buf[0], buf[1], buf[2]);
if (lseek(fd, 98, SEEK_SET) != 98)
die("seek failed");
if (read(fd, buf, 2) != 2)
die("read failed");
printf("%02x %02x\n", buf[0], buf[1]);
if (read(fd, buf, 5) != 5)
die("read failed");
printf("%.5s\n", buf);
close(fd);
return 0;
}