C++ Mbed错误的长整型解析 #包括 int main() { const char*s=“编号:420604953084”; 长数; sscanf,编号:%ld,&编号; printf(“结果:%ld”,编号); 返回0; }

C++ Mbed错误的长整型解析 #包括 int main() { const char*s=“编号:420604953084”; 长数; sscanf,编号:%ld,&编号; printf(“结果:%ld”,编号); 返回0; },c++,mbed,C++,Mbed,使用c++11(或,例如)在桌面上编译的此代码正确返回: Result: 420604953084 但使用ARM Mbed 6.6编译的结果是: (#include <mbed.h>) ... Result: -301941924 (#包括) ... 结果:-301941924 有人有线索吗?不幸的是,这些东西根本没有在Mbed中记录。如果编译器的长类型是4字节。我认为得出错误的结论是合理的 请尝试使用无符号long-long和格式代码“lld”。如果编译器上的long类型为4

使用c++11(或,例如)在桌面上编译的此代码正确返回:

Result: 420604953084
但使用ARM Mbed 6.6编译的结果是:

(#include <mbed.h>)
...
Result: -301941924
(#包括)
...
结果:-301941924
有人有线索吗?不幸的是,这些东西根本没有在Mbed中记录。

如果编译器的长类型是4字节。我认为得出错误的结论是合理的

请尝试使用无符号long-long和格式代码“lld”。

如果编译器上的long类型为4字节。我认为得出错误的结论是合理的

请尝试使用无符号long和格式代码“lld”