gpt4 book ai didi

php - 通过 (f|v|s)scanf 函数读取 PHP_INT_MAX 或接近值

转载 作者:太空狗 更新时间:2023-10-29 12:36:45 25 4
gpt4 key购买 nike

我正在运行 64 位 Ubuntu Linux。 也是64位的。我正在尝试使用 fscanf 从文件中读取整数。似乎 fscanf 无法扫描超过 32 位的整数。请参阅下面的演示。

var_dump(
$a = PHP_INT_MAX,
--$a,
(string)$a,
sscanf((string)$a, "%u"),
PHP_INT_SIZE
);

输出

int(9223372036854775807)
int(9223372036854775806)
string(19) "9223372036854775806"
array(1) {
[0]=>
string(10) "4294967294"
}
int(8)

看,64 位整数运算有效!只是 sscanf 函数不起作用。可能是我缺少正确的格式
我如何使用 scanf 在 PHP 中读取 64 位整数?格式是什么?

最佳答案

答案是您需要将 PHP 版本升级到更现代的版本。看来 5.2 has this issue , 但它已在 5.3 中修复

所以升级你的 PHP 版本,你应该可以开始了......(这还不算 5.2 已经停产一段时间了)......

关于php - 通过 (f|v|s)scanf 函数读取 PHP_INT_MAX 或接近值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9664487/

25 4 0
文章推荐: javascript - 单击下拉菜单时如何隐藏默认