【发布时间】:2024-05-21 10:20:02
【问题描述】:
我正在运行 64 位 Ubuntu Linux。 php 也是 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 php linux 64-bit integer scanf