本文共 1386 字,大约阅读时间需要 4 分钟。
XDR-枚举的试用
2014年4月7日17:50:14
定义一个.x文件,lww.x。文件内容如下:
enum colors{ RED = 2, YELLOW = 3, BLUE = 5, GREEN = 0x10};struct lww_int{ int m_nAge;};编写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;//// xdr_colors(&XDR,&aRED);// xdr_colors(&XDR,&aYELLOW);// xdr_colors(&XDR,&aBLUE);// xdr_colors(&XDR,&aGREEN);// xdr_lww_int(&XDR,&aLwwInt);//// 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;}int main(){ printf("begin\n"); FILE * pFile = fopen("lww.txt","rb"); XDR XDR; xdrstdio_create(&XDR,pFile,XDR_DECODE); colors aColor; lww_int aLwwInt; 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); xdr_destroy(&XDR); fclose(pFile); printf("end\n"); return 0;}
转载地址:http://rjwci.baihongyu.com/