C语言用标准io实现结构体的读写

C语言用标准io实现结构体的读写

代码如下,在linux下编译运行成功:

/********************************************
*功能:用文件io实现结构体的读写(二进制读写)
*作者:lml   时间:2020年4月13日22:20
********************************************/

#include <stdio.h>
#include <errno.h>
#include <string.h>

typedef  struct{
	char a;
	int  b;
	char stbuf[10];
}str;

int main(int argc, const char *argv[])
{
	FILE *fd1;
	FILE *fd2;

	fd1 = fopen("9.txt","w+");
	
	str test;//定义发送结构体
	str back;//定义接受结构体

	test.a = 'm';                    //初始化
	test.b = 100;                    //初始化
	strcpy(test.stbuf,"123 hello!"); //初始化

	fwrite(&test,sizeof(test),1,fd1);//写入文件中
	
	fseek(fd1,0,SEEK_SET);           //文件指针移动到头部,以便于读

	fread(&back,sizeof(back),1,fd1);//读到程序中来
	
	//打印看是否成功
	printf("a:%c\n",back.a);
	printf("b:%d\n",back.b);
	printf("stbuf:%s\n",back.stbuf);

	fclose(fd1);
	return 0;
}

结束!快去试试吧。

发布了4 篇原创文章 · 获赞 2 · 访问量 22

猜你喜欢

转载自blog.csdn.net/qq_19693355/article/details/105499848