typedef struct connect{
char ip[16];
int port;
}connect;
connect m_connect;
char buf[1024];
strcpy(buf,(char *)&m_connect);
我的问题是:怎样实现将一个结构体(共用体)中所有变量的值转换为字符串形式的变量。up有分!我写的是socket传输的数据包,发送完后还要将其还原,用它是很难实现还原的。
也许在数据包的格式可以设计为:
命令字+出错代码+14位时间+校验码+数据+数字签名而其中数据又得另分为:
第一数据长度+第一数据+第二数据长度+第二数据…………也许这是一种方法,但是它实在太麻烦了,对我来说不适用,因为我的数据包的格式有好多种,其数据区中的数据位数太不固定了,有string ,char *[],int BOOL,struct ,union,甚至还出现了struct中套union的数据……谁有更好的办法?高分相送!!
char ip[16];
int port;
}connect;
connect m_connect;
char buf[1024];
strcpy(buf,(char *)&m_connect);
我的问题是:怎样实现将一个结构体(共用体)中所有变量的值转换为字符串形式的变量。up有分!我写的是socket传输的数据包,发送完后还要将其还原,用它是很难实现还原的。
也许在数据包的格式可以设计为:
命令字+出错代码+14位时间+校验码+数据+数字签名而其中数据又得另分为:
第一数据长度+第一数据+第二数据长度+第二数据…………也许这是一种方法,但是它实在太麻烦了,对我来说不适用,因为我的数据包的格式有好多种,其数据区中的数据位数太不固定了,有string ,char *[],int BOOL,struct ,union,甚至还出现了struct中套union的数据……谁有更好的办法?高分相送!!
解决方案 »
- 下面这段关于"对话框中控件自动变化"代码怎么改进?
- 请问如果知道哪个static控件被点了,具体内容内详
- 线程退出发生异常
- 小弟写程序眼睛十分痛,请问各位同行如何解决的.
- Mirosoft Speech SDK 命令与控制识别模式下的数字识别
- 流程图的作用?
- 关于UDP的问题
- 全局 HOOK API (通过钩子) ,请大侠们帮帮忙
- glTranslate是不是可以不是按照三个坐标轴旋转的
- Project Setting中的Custom Build的设置
- CArray(type, type)和CArray(type, type&)有何区别??(解决马上给分)
- 会delphi的朋友请进:关于调用vc组件含safearray参数的方法,帮忙up也一定送分!
memcpy(buf,&m_connect, sizeof( connect ));WORD wCommand; //命令字
DWORD dwErrorCode; //错误代码
char buf[1024];
char *p = buf; *(WORD*)p = wCommand; p += sizeof( WORD );
*(DWORD*)p = dwErrorCode; p += sizeof( DWORD );
...
memcpy( p,&m_connect, sizeof( connect ));
...send( buf, ... );...recv( buf, ... );p = buf; wCommand = *(WORD*)p; p += sizeof( WORD );
dwErrorCode = *(DWORD*)p; p += sizeof( DWORD );
...
memcpy( &m_connect, p,sizeof( connect ));
...
char str[16];
int n;
}* PCONNECT;DWORD* dwData = new DWORD[sizeof(_CONNECT)];
memset(dwData, 0, sizeof(_CONNECT));PCONNECT pConnect = new _CONNECT;pConnect->n = 10;
strcpy(pConnect->str, "111");//转换
memcpy(dwData, pConnect, sizeof(_CONNECT));
delete pConnect;
//......//还原
pConnect = new _CONNECT;
memcpy(pConnect, dwData, sizeof(_CONNECT));delete pConnect;
delete dwData;
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
typedef struct{
char ip[16];
int port;
} connect;
connect m_connect;
strcpy(m_connect.ip, "202.115.1.1");
m_connect.port = 105;
char buf[1024];
memcpy(buf,(char *)&m_connect, sizeof(connect));
connect c2;
memcpy((char *)&c2, buf, sizeof(connect));