博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xdr-union的试用
阅读量:4045 次
发布时间:2019-05-24

本文共 2290 字,大约阅读时间需要 7 分钟。

xdr-union的试用

2014年4月7日20:55:46

.x文件内容:

enum colors{ 	RED = 2, 	YELLOW = 3, 	BLUE = 5,	GREEN = 0x10};struct lww_int{	int m_nAge;	bool m_bMale;	string m_sName<255>;	colors m_ayColor[2];};union lww_union switch(colors clr){case RED:	int m_nAge;case YELLOW:	bool m_bMale;case BLUE:	string m_sName<255>;case GREEN:	colors m_ayColor[2];};
c程序内容:

#include 
#include
#include "lww.h"//int main()//{// printf("begin\n");//// FILE * pFile = fopen("lww.txt","wb");// XDR XDR;// xdrstdio_create(&XDR,pFile,XDR_ENCODE);//// colors aRED = RED;// colors aYELLOW = YELLOW;// colors aBLUE = BLUE;// colors aGREEN = GREEN;// lww_int aLwwInt;// aLwwInt.m_nAge = 28;// aLwwInt.m_bMale = TRUE;// aLwwInt.m_sName = (char *)"1234";// aLwwInt.m_ayColor[0] = GREEN;// aLwwInt.m_ayColor[1] = BLUE;// lww_union aLwwUnion;// aLwwUnion.clr = RED;// aLwwUnion.lww_union_u.m_nAge = 28 * 2;//// xdr_colors(&XDR,&aRED);// xdr_colors(&XDR,&aYELLOW);// xdr_colors(&XDR,&aBLUE);// xdr_colors(&XDR,&aGREEN);// xdr_lww_int(&XDR,&aLwwInt);// xdr_lww_union(&XDR,&aLwwUnion);//// xdr_destroy(&XDR);// fclose(pFile);//// printf("end\n");//// return 0;//}void printColor(colors aColor){ switch(aColor) { case RED: printf("红色\n"); break; case YELLOW: printf("黄色\n"); break; case BLUE: printf("蓝色\n"); break; case GREEN: printf("绿色\n"); break; default: printf("错误色\n"); break; } return;}void printBool(bool_t bPrint){ switch(bPrint) { case TRUE: printf("真\n"); break; case FALSE: printf("假\n"); break; default: printf("错误\n"); break; } return;}int main(){ printf("begin\n"); FILE * pFile = fopen("lww.txt","rb"); XDR XDR; xdrstdio_create(&XDR,pFile,XDR_DECODE); colors aColor; char sName[255] = {0}; lww_int aLwwInt; aLwwInt.m_sName = sName; xdr_colors(&XDR,&aColor); printColor(aColor); xdr_colors(&XDR,&aColor); printColor(aColor); xdr_colors(&XDR,&aColor); printColor(aColor); xdr_colors(&XDR,&aColor); printColor(aColor); xdr_lww_int(&XDR,&aLwwInt); printf("%d\n",aLwwInt.m_nAge); printBool(aLwwInt.m_bMale); printf("%s\n",aLwwInt.m_sName); printColor(aLwwInt.m_ayColor[0]); printColor(aLwwInt.m_ayColor[1]); lww_union aLwwUnion; xdr_lww_union(&XDR,&aLwwUnion); if(RED == aLwwUnion.clr) { printf("%d\n",aLwwUnion.lww_union_u.m_nAge); } xdr_destroy(&XDR); fclose(pFile); printf("end\n"); return 0;}

转载地址:http://znwci.baihongyu.com/

你可能感兴趣的文章
MongoDB文档(Document)全局唯一ID的设计思路
查看>>
mongoDB简介
查看>>
nodejs 浏览器弹窗下载图片 data:image/jpeg;base64示例
查看>>
JAVA实现AES加密
查看>>
JAVA实现DES加密
查看>>
关于AES256算法java端加密,ios端解密出现无法解密问题的解决方案
查看>>
node.js AES/ECB/PKCS5Padding 与其他语言的加密解密通用
查看>>
Java and Nodejs on AES
查看>>
AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
查看>>
js老生常谈之this,constructor ,prototype
查看>>
nodejs-post文件上传原理详解
查看>>
node-formidable详解
查看>>
CenOS Linux安装nginx
查看>>
Nginx 关于 Rewrite 执行顺序详解
查看>>
Linux网络编程socket错误分析
查看>>
CAS实现SSO单点登录原理
查看>>
MongoDB中的_id和ObjectId
查看>>
美团酒店Node全栈开发实践
查看>>
MongoDB分片实战(一):集群搭建
查看>>
MongoDB分片实战(二):Sharding
查看>>