错误 5 error C2664: “sscanf”: 不能将参数 1 从“unsigned short”转换为“const char *”
代码:
unsigned short ushNumber;
UINT32 uiNumber;
sscanf(ushNumber, "%X", &(uiNumber));//该句代码出错
解决办法:用CString做中转
CString strValue = _T("");
strValue.Format(_T("0x%X"),ushNumber);
sscanf(strValue, "%X", &(uiNumber));
或者sscanf源数据要想是char[]类型,可以在CString之后再加入strcpy,拷贝到char[]
#define MAX_LEN 32
char cNumber[MAX_LEN + 1];
strValue.Format(_T("0x%X"),ushNumber);
strcpy(cNumber, strValue);
sscanf(cNumber, "%X", &(uiNumber));