//Test6.c #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include<stdio.h> #include<string.h> int main() { int fd; int data1 = 100; int data2 = 0; fd = open("./file",O_RDWR|O_CREAT); int n_write = write(fd,&data1,sizeof(int)); lseek(fd,0,SEEK_SET); //使光标移到开头 int n_read = read(fd,&data2,sizeof(int)); printf("read %d \n",data2); close(fd); return 0; } ~
输出结果:
Test7.c //Test4.c #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include<stdio.h> #include<string.h> struct Test { int a; char c; }; int main() { int fd; struct Test data1 = {100,'a'}; struct Test data2; fd = open("./file",O_RDWR|O_CREAT|O_TRUNC,0600); int n_write = write(fd,&data1,sizeof(struct Test)); lseek(fd,0,SEEK_SET); int n_read = read(fd,&data2,sizeof(struct Test)); printf("read %d,%c \n",data2.a,data2.c); close(fd); return 0; } ~
输出结果:
//Test8.c #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include<stdio.h> #include<string.h> struct Test { int a; char *c; }; int main() { int fd; struct Test data1[2] = {{666,"I will be successful"},{888,"We can do it" }}; struct Test data2[2]; fd = open("./file",O_RDWR|O_CREAT|O_TRUNC,0600); int n_write = write(fd,&data1,sizeof(struct Test)*2); lseek(fd,0,SEEK_SET); int n_read = read(fd,&data2,sizeof(struct Test)*2); printf("read %d,%s\n",data2[0].a,data2[0].c); printf("read %d,%s\n",data2[1].a,data2[1].c); close(fd); return 0; } ~
输出结果: