#include <stdio.h>
int main()
{
const char* s = "Number: 420604953084";
long number;
sscanf(s, "Number: %ld", &number);
printf("Result: %ld", number);
return 0;
}
Этот код, скомпилированный на компьютере с помощью c ++ 11 (или, например, здесь), возвращает правильно:
Result: 420604953084
Но при компиляции с ARM Mbed 6.6 результат:
(#include <mbed.h>)
...
Result: -301941924
У кого-нибудь есть ключ? К сожалению, в Mbed это вообще не задокументировано.