Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C opengl汉字消失_C_Windows_Opengl - Fatal编程技术网

C opengl汉字消失

C opengl汉字消失,c,windows,opengl,C,Windows,Opengl,我正在尝试在opengl中绘制一些汉字,一个教程给了我以下代码(我修改了一些部分) 输出: 应该是: "滴滴答答呱呱呱刷刷怕" "嘎嘎嘎浅川了" 但我得到了: "滴答答呱呱呱刷刷怕" "嘎嘎嘎浅川了" 如你所见,第二个“滴“从输出中消失。 通过打印调试信息,我发现对wglUseFontBitmapsW()的第二次调用返回false。 根据,我将通过调用GetLastError()在这里得到一个错误描述,但是GetLastError只返回0。 然后我试了一下: if (! wglUseFontBi

我正在尝试在opengl中绘制一些汉字,一个教程给了我以下代码(我修改了一些部分)

输出: 应该是:

"滴滴答答呱呱呱刷刷怕"

"嘎嘎嘎浅川了"

但我得到了:

"滴答答呱呱呱刷刷怕"

"嘎嘎嘎浅川了"

如你所见,第二个“滴“从输出中消失。 通过打印调试信息,我发现对wglUseFontBitmapsW()的第二次调用返回false。 根据,我将通过调用GetLastError()在这里得到一个错误描述,但是GetLastError只返回0。 然后我试了一下:

if (! wglUseFontBitmapsW(hDC, wstring, 1, base))
    wglUseFontBitmapsW(hDC, wstring, 1, base);
这次成功了! 所以我现在不知道我的代码出了什么问题。。。 可承载重量的设置:

#ifdef UNICODE
#undef UNICODE
#endif

#define bool BOOL
#define BITS 32
,根据Nehe的教程进行修改
我在Windows 7下的mingw gcc 4.7.0下编译了这篇文章,使用
L
前缀来确保在文本字符串上使用相同的编码。实际上,我正在开发一个简单的库,它包装了繁琐的opengl和Win32函数以便于使用。这意味着我不能告诉我的用户在任何地方都使用wchar\t而不是简单的char。Anywa我会试试看:>。谢谢~@Owenss:你当然可以告诉你的用户使用
wchar\t
。如果你想继续使用那些WGL函数,你必须这样做。
if (! wglUseFontBitmapsW(hDC, wstring, 1, base))
    wglUseFontBitmapsW(hDC, wstring, 1, base);
#ifdef UNICODE
#undef UNICODE
#endif

#define bool BOOL
#define BITS 32