字符串我有此需要的HRESULT值傳遞到一個節目作爲一個命令行參數。我本來打算這樣做,通過將十六進制值,例如:傳遞HRESULT作爲命令行
>receiver.exe 0x80048836
我試圖使用wcstol
這個字符串表示轉換回成HRESULT,如:
HRESULT hr = wcstol(argv[2], NULL, 16);
但是,值的原始HRESULT通常大於LONG_MAX
,所以在上面的行hr
最終爲0x7fffffff
。
於是,兩個問題:
我以爲HRESULTS只是32位整數?所以我不確定我如何回到比
LONG_MAX
大的HRESULT。它似乎在原始程序中工作正常,但(即HRESULT不會溢出)。有沒有辦法避開
LONG_MAX
限制wcstol
?也許另一個版本的函數匹配HRESULT的實際大小是多少?
謝謝!