converting unicode LPTSTR to WCHAR
Posted on 2004-08-27
When I step through the code below, I put a watch on szFile and it shows it as containing "c:\files\李克勤 - 飛花.mpg" (chinese characters in unicode).
I need to convert that to WCHAR. so I do a:
wcsncpy(wFile, T2W(szFile,CP_UTF), NUMELMS(wFile)-1);
However, wFile now contains: "c:\files\§õ§J¶Ô - ¸ªá.mpg"
The next bit of code tries to open the file specified by wFile but doesn't succeed because "c:\files\§õ§J¶Ô - ¸ªá.mpg" does not exist. The file that should be opened is "c:\files\李克勤 - 飛花.mpg". I would like the filename to stay as unicode instead of being converted according to the codepage. What am I doing wrong? Is there something I don't understand?
HRESULT PlayMovieInWindow(LPTSTR szFile)
// Clear open dialog remnants before calling RenderFile()
// Convert filename to wide character string
wcsncpy(wFile, T2W(szFile), NUMELMS(wFile)-1);
Edit:: Sorry the unicode I typed did not come out properly...
szFile should contain the chinese unicode...
wFile ends up being converted to multibyte.. so looks like gibberish... but I would like it to be unicode.. because the filename of the file on the drive is in unicode.