1、TCHAR * 转为char *
char* TCHARToChar(TCHAR* pTchar)
{
char* pChar = nullptr;
int nLen = wcslen(pTchar) + 1;
pChar = new char[nLen * 2];
WideCharToMultiByte(CP_ACP, 0, pTchar, nLen, pChar, 2 * nLen, NULL, NULL);
return pChar;
}
2、char * 转为 TCHAR *
TCHAR* CharToTCHAR(char* pChar)
{
TCHAR *pTchar = nullptr;
int nLen = strlen(pChar) + 1;
pTchar = new wchar_t[nLen];
MultiByteToWideChar(CP_ACP, 0, pChar, nLen, pTchar , nLen);
return pTchar ;
}
3、调用
SYSTEMTIME stLocalTime;
GetLocalTime(&stLocalTime);
QString dateStr = QString("DumpFile");
dateStr = dateStr + "-" +
QString("%1").arg(stLocalTime.wYear, 4, 10, QLatin1Char('0')) +
QString("%1").arg(stLocalTime.wMonth, 2, 10, QLatin1Char('0')) +
QString("%1").arg(stLocalTime.wDay, 2, 10, QLatin1Char('0')) +
QString("%1").arg(stLocalTime.wHour, 2, 10, QLatin1Char('0')) +
QString("%1").arg(stLocalTime.wMinute, 2, 10, QLatin1Char('0')) +
QString("%1").arg(stLocalTime.wSecond, 2, 10, QLatin1Char('0'));
qDebug() << "dateStr:" << dateStr;
TCHAR *pchar = CharToTCHAR(dateStr.toLatin1().data());