客户端是用C写的,发送下面的数据结构
struct Login
{
    int id;
    char name[50];
    char passwd[50];
};服务器是用PHP写的,现在不知道如何提取其中的数据
id可以用unpack(V)取出来,剩下的name和passwd不知道该怎么取
用substr取出来的东西用==比较不成功
unpack(a*)只能取出来一个,把两个内容给串一起的请问这个问题如何解决

解决方案 »

  1.   

    unpack('Vid/A50name/A50passwd', $s)
      

  2.   

    谢谢,用a解决了问题a和A有什么区别啊
    用A提取到了两个字符串,但是比较失败
    用a来提取,就能比较成功
      

  3.   

    a和A有什么区别啊
    区别在于无效字符的充填方式
    a 0x00 空字符
    A 0x20 空格如果来源是 pack 来的,则两者并无区别
    如果来源是其他语言,则要针对具体情况选择使用