在c++里面-------------------------------问题1---------------TCHAR szOldName[20];
TCHAR szname[20];
szname[0]= szOldName[1];
szname[1]= szOldName[2];
printf(szname); $szname[20];
$szname[0]= $szOldName[1];
$szname[1]= $szOldName[1];
echo($szname);
输出的是array , 我肯定理解错了, PHP的一个数组元素就带包了一个对象吧-------------------------------问题2---------------
$md5_user=MD5($szname);
$serial;
我现在想要 $serial的 第7位= $md5_user的第5位怎么做呢?------------------问题3-----------
$count = 30000;//$count 小于<0xFFFF
$serial 的 第12开始= $count 的16进制.(4个字符)
也就是这个怎么翻译成PHP的?
TCHAR szname[20];
szname[0]= szOldName[1];
szname[1]= szOldName[2];
printf(szname); $szname[20];
$szname[0]= $szOldName[1];
$szname[1]= $szOldName[1];
echo($szname);
输出的是array , 我肯定理解错了, PHP的一个数组元素就带包了一个对象吧-------------------------------问题2---------------
$md5_user=MD5($szname);
$serial;
我现在想要 $serial的 第7位= $md5_user的第5位怎么做呢?------------------问题3-----------
$count = 30000;//$count 小于<0xFFFF
$serial 的 第12开始= $count 的16进制.(4个字符)
也就是这个怎么翻译成PHP的?
解决方案 »
- _______________新手问题_________PHP可不可以IFRAME截图???__________________________________
- 时间戳转换成日期格式?
- 请问在任何浏览器下面,此时都输出1吗?
- 各位兄弟,我下的eWebEditor添加图片提示错误,是什么原因,帮忙看看啊
- 初学PHP的几个问题,望请赐教
- 请问哪里可以下载IP地址段对应城市的信息
- 往图片里写入字体,有谁做过?给点意见
- 表单传值,我怎么做哪里错了?
- 我的PHP怎么不支持mssql了呐?求助
- 如何用php获得某网址的请求总数
- 在win7下安装PHP5.3.2遇到问题了,急求高手解决。。。
- 如何过滤输出的内容呢?过滤掉指定内容
2.$serial{7} = $md5_user{5}
3.$newSerial = substr($serial,0,12).dechex($count);
$serial = $newSerial;
谢谢!
第3个问题中, 如果 count <100, 也就是2位16进制, 如何在高位用0表示?
比如 count= FA;
strCount= "00FA"; 应该等于这种样式. 不足为用0表示.还加个问题:
PHP里面有checksum函数吗? 就是效验和, 我有个c++的, 可用到指针就不会翻译成PHP的了unsigned short in_cksum(unsigned short *addr, int len)
{
register int nleft = len;
register unsigned short *w = addr;
register int sum = 0;
unsigned short answer =0;
while (nleft > 1)
{
sum += *w++;
nleft -= 2;
}
if (nleft == 1)
{
*(unsigned char *)(&answer) = *(unsigned char *)w;
sum += answer;
}
sum = (sum >> 16) + (sum & 0xffff);
sum += (sum >> 16);
answer = ~sum;
return(answer);
}
$c = 0xFA;
if( $c < 200 )
{
echo sprintf("%04x",$c);
}
C++实在是不熟悉,不过google一下好象有php实现的。
你试试看
http://www.phpclasses.org/browse/package/5144.html
呵呵,难得你能搜到这个,看了一下,那些*一个都没用,把它们全部替换掉,*在php语法里只表示相乘。php没有指针一说。function getchksum($data){
//returnthechksumofthedata
$chksum=0;
$temp=0;
for($e=0;$e<strlen($data)/4;$e+=4){
$temp=unpack("V1a", substr($data, $e, 4));
$temp=sprintf("%u",$temp['a']);
//print("$temp+$chksum = " . ($temp+$chksum)."<br/>");
$chksum=sprintf("%u", ($chksum+$temp)& 0xFFFFFFFF);
}
$temp = $chksum>>16;
$temp = sprintf("%u", ($chksum+$temp) & 0xFFFF); return$temp;
}echo getchksum("sending data...");
$temp = $chksum>>16;//这一行貌似要乘等于
改成
$temp *= $chksum >> 16;
function getchksum($data) {
//return the chksum of the data
$chksum = 0;
$temp = 0;
for($e=0;$e<strlen($data)/4;$e+=4) {
$temp = unpack("V1a", substr($data, $e, 4));
$temp = sprintf("%u",$temp['a']);
//print("$temp + $chksum = " . ($temp+$chksum)."<br />");
$chksum = sprintf("%u", ($chksum+$temp) & 0xFFFFFFFF);
}
$temp = $chksum>>16;
$temp = sprintf("%u", ($chksum+$temp) & 0xFFFF);
return $temp;
}
function getchksum($data)
{
//return the chksum of the data
$chksum = 0;
$temp = 0;
for($e=0; $e<count($data)/4; $e+=4)
{
$temp = unpack("V1a", substr($data, $e, 4));
$temp = sprintf("%u",$temp['a']);
//print("$temp + $chksum = " . ($temp+$chksum)."<br />");
$chksum = sprintf("%u", ($chksum+$temp) & 0xFFFFFFFF);
}
$temp = $chksum>>16;
$temp = sprintf("%u", ($chksum+$temp)&0xFFFF);
return $temp;
}
$test[23];
然后他的每个元素值等于= "A18FC-S8235-18BD1-3";现在怎么调用getchksum呢? 我直接传递 #test过去不对
c代码将输入数据作为短整型值运算,而php代码将输入数据作为长整型值运算