Вот мой код C:
char *ptr = "0xfff1342809062Cac";
char *pEnd;
long long value = strtoll(ptr, &pEnd, 0);
printf("%lld\n", value);
printf("errno: %d\n", errno);
Я скомпилировал его с помощью gcc-8.3.0, и вывод:
9223372036854775807
errno: 34
Меня смущает, что strtoll дает неожиданное значение и устанавливает для errno значение 34.
perror
илиstrerror
и/или поиск кода ошибки. - person Konrad Rudolph   schedule 23.03.2020printf("%lld\n", value);
может обманутьerrno
. - person Andrew Henle   schedule 23.03.2020printf("errno: %d\n", errno);
. - person chux - Reinstate Monica   schedule 23.03.2020