LPTSTR与char*等价,表示普通字符/字符串变量,指向字符/字符串的指针。
LP:长指针(long pointer)。
T:win32环境中有一个_T宏,用来标识字符是否采用Unicode编码(两字节表示一个字符),若程序中定义了Unicode,该字符/字符串被作为Unicode字符串,否则就是标准的ANSI(单字节表示一个字符)字符串。
STR:表示这个变量是一个字符串。
TCHAR szTimeYear[16] = {0};
WORD wYear;
DWORD dwNum = WideCharToMultiByte(CP_OEMCP, NULL, szTimeYear, -1, NULL, 0, NULL, FALSE); // 以下三步是将宽字节转换为单字节的方法,参考之前的文章
char *szFilePath = new char[dwNum];
WideCharToMultiByte(CP_OEMCP, NULL,szTimeYear, -1, szFilePath, dwNum, NULL, FALSE); // 这时szTimeYear已经转换为窄字节的char*了
wYear = atoi(szFilePath) ; // char*所指向的字符串转化为word。