格式化字符串,有偿求助 本帖最后由 xiongmzh 于 2010-11-01 16:35:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 825831985是可变的,由我的time变化而变化,但是我的time经过sprintf一格式化,传给C++就走了样,我知道一定是这个sprintf引起的,我一直对这个函数不感冒,琢磨了很久还是用得不对兄台给指点指点 怎么pack的,就怎么unpack。你的问题和sprintf有关系么?$format = sprintf("vvvva%dVa8", 10); //格式化字符串$head_data = pack(//封装包 $format, 0xFFAA, 0xFFAA, 6, 10, 11, 1, 1291046400);//你确认对方是按照你的pack格式反解的吗?print_r($t = unpack('v4v/a10a/VV/a8time/',$head_data));echo "<br/>";echo $t['time'].'00'; 鉴于time()是10位数,pack的format关于时间戳的为什么是a8呢?这样不是会截断最后两位数么?为什么不是$format = sprintf("vvvva%dVa10", 10); 谢谢foolbirdflyfirst,“规则”是C++方面订的,我必须按照他的接收方式发包回头我试试改成a10 还是不行,对方接收到的还是和我的time不同,这里是把含有time这个包体通过socket传过去的郁闷啊 一个简单的php画图问题、、、 求助 150页的数据,我想分成每10页一采。我应该怎么操作 了解Oauth的进来下 关于PHP 类 扩展的问题,有些不明白、、、、、 连接服务器问题 PHP之高手的崛起1,欢迎大家加入! 自己做的一个简单无刷新验证用户名...IE可用..FF不可用...求助 FCKeditor读入html文件的问题 PHP电子书 imap我不懂 sockets 怎么向页面推送数据 在WIN7下phpmyadmin3.3.7本地安装的问题来了
$format = sprintf("vvvva%dVa8", 10); //格式化字符串
$head_data = pack(//封装包
$format,
0xFFAA,
0xFFAA,
6,
10,
11,
1,
1291046400);
//你确认对方是按照你的pack格式反解的吗?
print_r($t = unpack('v4v/a10a/VV/a8time/',$head_data));
echo "<br/>";
echo $t['time'].'00';
为什么不是
$format = sprintf("vvvva%dVa10", 10);
回头我试试改成a10