这段代码定义了两个函数:WORDToString
和getTime
,用于获取当前系统时间并将WORD
类型转换为string
类型。
-
WORDToString
函数:此函数接受一个WORD
类型的参数w
,将其转换为字符串并返回。在此代码中,使用sprintf
函数将w
格式化为字符串并存储在tmpbuff
缓冲区中,然后将tmpbuff
转换为string
类型并返回。 -
getTime
函数:此函数获取当前系统时间,并以字符串形式返回格式化后的时间信息。首先,定义了一个字符串数组week
用于存储每周的星期几。接着,声明一个SYSTEMTIME
结构体now
用于获取本地时间。然后,使用GetLocalTime
函数获取当前本地时间。接下来,将年、月、日、星期等信息格式化为字符串,并拼接在一起,最终返回当前时间的字符串表示。 -
main
函数:在main
函数中,调用getTime
函数获取当前时间并输出。
需要注意的是,此代码中的输出可能会因为编译器和环境的不同而有所区别。运行代码时,它会输出当前系统的日期和时间,包括年、月、日、星期、时、分、秒和毫秒信息。
#include <string>
#include<iostream>
#include<windows.h>
#include <sstream>
using namespace std;
string WORDToString(WORD w)
{
char tmpbuff[16];
sprintf(tmpbuff,"%d",w);
string res=tmpbuff;
return res;
}
string getTime()
{
string week[7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
SYSTEMTIME now;
string currentTime;
GetLocalTime( &now );
currentTime=WORDToString(now.wYear)+"年"
+WORDToString(now.wMonth)+"月"
+WORDToString(now.wDay)+"日"
+"("+week[now.wDayOfWeek]+") "
+WORDToString(now.wHour)+":"
+WORDToString(now.wMinute)+":"
+WORDToString(now.wSecond)+" "
+WORDToString(now.wMilliseconds)+"ms";
return currentTime;
}
int main()
{
cout<<getTime()<<endl;
return 0;
}