負の数を String から unsigned long に変換しようとしていますが、「-」記号が原因で予期しない結果が得られます。コードの下
#include <stdio.h>
#include <string.h>
main()
{
char * pValue = "-1234657890000";
unsigned long ValueLong ;
sscanf( pValue, "%llu", &ValueLong ) ;
printf ("%llu",ValueLong);
}
"-1234657890000" を printf 出力として持つ代わりに、コードはこの値 " 18446742839051661616 " を表示しています。
ありがとうございました