编译以下代码时出错,错误告诉我必须将unsigned short转换为char,我不知道如何执行此转换。我正在使用vc6 MFC。这是我使用的代码。
SYSTEMTIME st;
GetSystemTime(&st);
unsigned short time = st.wHour;
MessageBoxA(TEXT(time),"system time",MB_OK);
答案 0 :(得分:2)
您可以使用std::ostringstream
:
#include <sstream>
...
std::ostringstream time;
time << st.wHour;
MessageBoxA(time.str().c_str(),"system time",MB_OK);
答案 1 :(得分:0)
变量time
是一个整数,而MessageBoxA
想要一个字符串。您必须将整数转换为字符串,这不是由TEXT
宏完成的。我建议您在std::stringstream
或可能sprintf
上阅读更多内容。
答案 2 :(得分:0)
或......
char str [20];
的sprintf(STR, “%d”,st.wHour);
MessageBoxA(str,“系统时间”,MB_OK);
罗德泰勒沙特阿拉伯