c++ and php HEX
c++ and php HEX
i 这段代码在 C++ 中将整数转换为十六进制,但 php 中的输出不同
C++:
#include <iostream>
#include <stdlib.h>
#include <string>
#include <stdio.h>
using namespace std;
int main(){
string str1("100106014020");
int i;
i = atoi(str1.c_str());
printf ("HEX value is %X", i);
return 0;
}
output:
HEX value is 4EC88D44
.PHP:
<?php
$num = '100106014020';
$nnum = (int)$num;
echo printf ("%X",$nnum);
?>
输出:174EC88D4410
如何在 php 中获得与 C++ 中相同的十六进制值?
使用atoi
只是一个编程错误,因为您无法知道转换是否成功。要使用的正确函数是 strtol
(或strtoll
)。更正后的程序应如下所示:
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cerrno>
int main()
{
const char * const str1 = "100106014020";
char * e;
long i = std::strtol(str1, &e, 0);
if (e != 0)
{
std::printf("Conversion error: %sn", strerror(errno));
}
else
{
std::printf("Conversion succeeded, value = 0x%lXn", i);
}
}
对我来说,这说:
Conversion error: Numerical result out of range
你溢出了整数的容量。 请改用长整型。
相关文章:
- HEX值到wchar_t字符(UTF-8)的转换
- 将加密消息从 php 发送到 C++ 应用程序,然后使用 CryptoPP 进行解密
- PHP Profiler语言 - 使用 C++ 从 PHP 扩展获取客户端 IP 和 URL
- Nginx RTMP与InstagramLive-PHP不起作用
- 在编写自己的流运算符时,如何检查当前的 ostream dec/hex 模式?
- 如何使用PHP将上传到本地主机的一个html文件重定向到磁盘上的另一个html文档
- PHP & C++ $_FILES 和 HttpSendRequestA
- 使用 std::hex 将十六进制转换为十进制
- 如何使用 PHP-CPP 在 PHP 类中添加静态数组
- 如何在PHPCPP库中将C++map<string,map<string>>转换为php::value?
- 为什么用C++编写的 phpcpp 扩展函数比用 PHP 编写的函数慢
- QT:AES-256-CBC 根据 PHP 代码在C++中加密/解密
- 从 PHP 调用已编译的C++可执行文件来创建套接字
- 如何在 ubuntu 上的 php 脚本中获取程序(c,c++,java,python,php)的执行时间和内存使用量?
- 文件写入在PHP扩展c / c ++(linux)中不起作用
- 无论如何可以使用 C++/C 甚至 python 和 php
- 当 PHP、C++ 和 shell 脚本尝试访问同一个文件时,如何避免错误?
- PHP 中的实时仪表板,可从C++共享数据
- PHP / C++:共享内存时出现shm_open()错误
- c++ and php HEX