const wchar_t *foo = reinterpret_cast<const wchar_t *>(glGetString(GL_SHADING_LANGUAGE_VERSION));
LPCTSTR sversion = foo;
MessageBox(NULL, sversion, TEXT("GL_SHADING_LANGUAGE_VERSION"), MB_OK);
这导致了一些奇怪的内容,主要是中文和其他一些字符而不是GL_SHADING_LANGUAGE_VERSION
,因为reinterpret_cast
&#34;解释&#34;这件事就像我想要的那样。我也尝试用正常的C版本来做这件事,但这会导致同样的问题,因为glGetString返回一个GLubyte *我不能将代码直接放入MessageBox函数,因为这需要一个LPCTSTR作为输入。
我在我的文件中定义了UNICODE
关键字。这就是我使用wchar_t
代替char
的原因。