linux 写结构体到文件
生活随笔
收集整理的這篇文章主要介紹了
linux 写结构体到文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
將整數寫入到文件
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<stdio.h> #include <unistd.h> #include <string.h>#include <stdlib.h> int main() {int fd;int data=100;int data2=0;fd=open("./file1",O_RDWR);int n_write=write(fd,&data,sizeof(int));//write的第二個參數是地址,并不一定非得是指針,所以可用&獲取地址,read同理lseek(fd,0,SEEK_SET);int n_read=read(fd,&data2,sizeof(int));printf("read %d, write %d,context %d\n",n_read, n_write,data2);close(fd);return 0; } //文件中的數據有可能亂碼,但并不影響程序對他的判斷將結構體寫入到文件
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> struct text {int a;char c; }; int main() {int fd;struct text data={100,'a'};struct text data2;fd=open("./file1",O_RDWR);//"./file1" is wenjianlujingint n_write=write(fd,&data,sizeof(struct text));//write return zijie de changdulseek(fd,0,SEEK_SET);int n_read=read(fd,&data2,sizeof(struct text));printf("read %d,context %c\n",data2.a,data2.c);close(fd);return 0; }寫結構體數組到文件
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> struct text {int a;char c; }; int main() {int fd;struct text data[2]={{100,'a'},{101,'b'}};struct text data2[2];fd=open("./file1",O_RDWR);//"./file1" is wenjianlujingint n_write=write(fd,&data,sizeof(struct text)*22);//write return zijie de changdulseek(fd,0,SEEK_SET);int n_read=read(fd,&data2,sizeof(struct text)*2);printf("read1 %d,context1 %c\n",data2[0].a,data2[0].c);printf("read2 %d,context2 %c\n",data2[1].a,data2[1].c);close(fd);return 0; }總結
以上是生活随笔為你收集整理的linux 写结构体到文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现linux cp 命令和修改配置文
- 下一篇: Linux 进程、父进程、子进程