【发布时间】:2020-05-22 12:31:16
【问题描述】:
我正在使用 ImGui,OpenGL 的实现工作正常,但现在我在渲染一些文本时遇到了问题。出于某种原因,每当我尝试使用 ImGui::Text(someString.c_str()); 渲染字符串时,ImGui 只会渲染前 19 个字符。如果我尝试使用ImGui::Text("This is a Text longer than 19 characters") 呈现相同的文本,则 ImGui 会呈现整个文本。
我也用ImGui::TextUnformatted(&someString[0], &someString[someString.size()-1]); 进行了尝试,结果相同:前 19 个字符被显示,但其余字符被删除。
但如果我这样做 std::clog << someString.c_str() 它完全可以正常工作。
如果有人能发现我的错误,我会非常高兴,我尝试了很多小时但无法修复它。
【问题讨论】:
-
someString的内容是什么? -
啊,这可能是问题所在:我使用了一个 'ü' 来终止字符串。
-
谢谢,这就是问题所在。