c++ - Unicode 字符 "GREEK CAPITAL LETTER DELTA"在 C++ 和 GLStudio 中呈现为 "White vertical rectangle"

标签 c++ opengl unicode

编程语言:C++,渲染器:GLStudio

我想呈现 Unicode 字符 'GREEK CAPITAL LETTER DELTA' (U+0394),如:ΔP

代码是:

sprintf(somebuffer,"%cP",'\u0394');

然而结果是白色垂直矩形' (U+25AF) 如下:

▯P

这是我使用的引用:http://www.fileformat.info/info/unicode/char/25af/index.htm

显然在渲染器上存在 unicode 映射问题,但我无法准确指出它,所以想在尝试绘制实际的 opengl 三角形之前尝试我在 SO 中的机会作为解决方法。非常感谢任何帮助或建议!

最佳答案

这完全取决于渲染器所期望的编码。它很有可能期望或支持 UTF-8:

sprintf(somebuffer, u8"\u0394P");

这形成了字符串 <capital delta><P>以 UTF-8 编码并将其写入缓冲区(不检查大小或使用更合适的 C 函数,如 strncpy )。然后由渲染器获取这些字节并按您期望的方式渲染它们。

当前发生的事情很可能会通过 int参数代替 %c需要 char 的占位符.我想虽然未定义行为,但它采用第一个字节并将其视为 char .

关于c++ - Unicode 字符 "GREEK CAPITAL LETTER DELTA"在 C++ 和 GLStudio 中呈现为 "White vertical rectangle",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42538578/

相关文章:

c++ - 返回结构指针

c++ - 使用 sizeof 运算符在 C 和 C++ 中的不同输出

c++ - Qt5.2.0; Debian 喘息 : QSqlDatabase destructor causes segfault

python - Python 中的 unicode 类

c++ - 解决链接器错误MySQL Connector/C++

python - PyQt OpenGL : drawing simple scenes

c++ - OpenGL 实例化渲染不工作,只出现一个实例

c++ - openGL glx.h 缺少 xcode 4 mac lion 形式

ios - Iconset Unicode 表情符号(ios7,whatsapp)?

c++ - 写入文件mfc