|
VC++ATL时间解析函数实现
该实现通过预处理器指令区分UNICODE和ANSI环境,在ANSI环境下使用标准sscanf_s函数进行解析,确保在非Unicode项目中也能正确工作。格式说明符%hu用于匹配unsigned short类型的时间分量
- BOOL ParseTimeString(LPCTSTR lpszTime, SYSTEMTIME& st)
- {
- ZeroMemory(&st, sizeof(SYSTEMTIME));
- #if defined(UNICODE) || defined(_UNICODE)
- // Unicode环境下使用宽字符版本
- return swscanf_s(lpszTime, L"%hu:%hu:%hu",
- &st.wHour, &st.wMinute, &st.wSecond) == 3;
- #else
- // ANSI环境下使用窄字符版本
- return sscanf_s(lpszTime, "%hu:%hu:%hu",
- &st.wHour, &st.wMinute, &st.wSecond) == 3;
- #endif
- }
复制代码
|
|