|
|
От: | Аноним | |
| Дата: | 28.10.10 13:38 | ||
| Оценка: | |||
HRESULT toHResult(const TCHAR *sz) {
return _tcstol(sz, NULL, 16);
}#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <conio.h>
#include <limits.h>
#include <winerror.h>
//typedef long HRESULT;
HRESULT toHResult(const TCHAR *sz) {
//long lVal = _tcstol(sz, NULL, 16);
//return lVal;
unsigned long ulVal = _tcstoul(sz, NULL, 16);
return ulVal;
}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR *sz = _T("0x80070057"); // E_INVALIDARG
HRESULT hRes = toHResult(sz);
bool check = (E_INVALIDARG == hRes);
char sz2[100];
std::cout << (check ? "success:\r\n" : "fail:\r\n") << hRes << "\r\n" << ltoa(hRes, sz2, 16);
return _getch();
}fail:
2147483647
7fffffff
success:
-2147024809
80070057