以msgbox显示当前系统时间

时间:2012-01-30 12:15:02

标签: c++ mfc vc6

编译以下代码时出错,错误告诉我必须将unsigned short转换为char,我不知道如何执行此转换。我正在使用vc6 MFC。这是我使用的代码。

SYSTEMTIME st;
GetSystemTime(&st);
unsigned short time = st.wHour;
MessageBoxA(TEXT(time),"system time",MB_OK);

3 个答案:

答案 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);

罗德泰勒

沙特阿拉伯