给文件写结构体
代码演示:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
struct Test
{
int a;
char c;
};
int main()
{
int fd;
struct Test data[2]={{100,'a'},{101,'b'}};
struct Test data2[2];
fd=open("file1",O_RDWR);
write(fd,&data,sizeof(struct Test)*2);
lseek(fd,0,SEEK_SET);
read(fd,&data2,sizeof(struct Test)*2);
printf("read %d,%c\n",data2[0].a,data2[0].c);
printf("read %d,%c\n",data2[1].a,data2[1].c);
close(fd);
return 0;
}
输出
read 100,a
read 101,b
file1文件打开是乱码,并不影响系统的读写判断
d^@^@^@a^@^@^@e^@^@^@b^@^@^@