#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
double x1 = 10.5;
double x2;
long k1 = 21;
long k2,k3,off;
int disk;
char *buf;
/*
ディスクへの出力
*/
disk = open("data", O_WRONLY|O_CREAT, S_IREAD);
buf = (char *)(&x1);
write(disk, buf, 8);
buf = (char *)(&k1);
write(disk, buf, 4);
close(disk);
/*
ディスクからの入力
*/
disk = open("data", O_RDONLY);
buf = (char *)(&x2);
read(disk, buf, 8);
off = tell(disk);
printf("offset %ld\n",off);
buf = (char *)(&k2);
read(disk, buf, 4);
off = tell(disk);
printf("offset %ld\n",off);
printf("x2 %5.1lf k2 %3ld\n",x2,k2);
off = lseek(disk, 8, SEEK_SET); /* ポインタの移動 */
printf("offset %ld\n",off);
buf = (char *)(&k3);
read(disk, buf, 4);
printf("k3 %3ld\n",k3);
off = tell(disk);
printf("offset %ld\n",off);
close(disk);
return 0;
}