char ch;
__int64 decVal = 0;
char* szHex = new char[16];
printf("HexToDec2 %I64d\n", decVal);
sprintf(szHex, "%X", decVal);
printf("val = 0s%" PRIx64 "\n", szHex);
__int64 n3 = _strtoi64(szHex, NULL, 16);
printf("%I64d\n", n3);
위에서 decVal 은 __int64로 선언된 변수인데요 여기엔 64비트 크기의 정수가 담겨 있습니다.
sprintf(szHex, "%X", decVal);
를 통해서 szHex 문자열에 10진수 -> 16진수로 변환해서 저장을 하면
잘됩니다 그런데
이 szHex 변수를 이용해서
__int64 n3 = _strtoi64(szHex, NULL, 16);