欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

[linux系统编程]写入文件里的一定是字符串吗

时间:2023-06-24
文章目录

一、写一个整形数到文件二、写一个结构体到文件二、写一个结构体数组到文件 一、写一个整形数到文件

//Test6.c#include #include #include #include #include#includeint 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 #include #include #include #include#includestruct 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 #include #include #include #include#includestruct 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,%sn",data2[0].a,data2[0].c); printf("read %d,%sn",data2[1].a,data2[1].c); close(fd); return 0;}~

输出结果:

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。