请教unpack的问题

jiuchang 2010-08-04 09:14:32
客户端是用C写的,发送下面的数据结构
struct Login
{
int id;
char name[50];
char passwd[50];
};


服务器是用PHP写的,现在不知道如何提取其中的数据
id可以用unpack(V)取出来,剩下的name和passwd不知道该怎么取
用substr取出来的东西用==比较不成功
unpack(a*)只能取出来一个,把两个内容给串一起的

请问这个问题如何解决
...全文
164 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiuchang 2010-08-04
  • 打赏
  • 举报
回复
谢谢,给分
xuzuning 2010-08-04
  • 打赏
  • 举报
回复
a和A有什么区别啊
区别在于无效字符的充填方式
a 0x00 空字符
A 0x20 空格

如果来源是 pack 来的,则两者并无区别
如果来源是其他语言,则要针对具体情况选择使用
c461439564 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]

unpack('Vid/A50name/A50passwd', $s)
[/Quote] 向老大学习
jiuchang 2010-08-04
  • 打赏
  • 举报
回复
谢谢,用a解决了问题

a和A有什么区别啊
用A提取到了两个字符串,但是比较失败
用a来提取,就能比较成功
eros0405 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]

unpack('Vid/A50name/A50passwd', $s)
[/Quote]

1楼正解
Dleno 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]

unpack('Vid/A50name/A50passwd', $s)
[/Quote]
向老大学习
xuzuning 2010-08-04
  • 打赏
  • 举报
回复
unpack('Vid/A50name/A50passwd', $s)

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧