【问题标题】:SFML - getting text from sf::TextSFML - 从 sf::Text 获取文本
【发布时间】:2016-06-28 17:15:37
【问题描述】:

我正在尝试将 sf::Text 值转换为 std::string,但没有成功。

这是代码行:

std::string s = input_text.getString();

有人知道为什么这不起作用吗?

它还说明了 sfml-graphics-d-2.dll 中的符号未加载..

我收到此错误:

调试断言失败!

表达式:_pFirstBlock == pHead

如果有人有解决方案,我将不胜感激。

【问题讨论】:

  • sf::Text::getString();不返回 std::string,请查看文档。
  • @HannesHauptmann 是的,但是如何从 sf::Text 获取字符串值?
  • 那行代码在我看来没问题,因为从 sf::Stringstd::string 之间存在隐式大小写。 _pFirstBlock == pHead 暗示某种堆损坏,可能来自不匹配的 msvcrt 版本。 (混合版本,或者混合调试和发布。)事实上,someone with a similar issue 修复了这个问题,确保 SFML 是使用与他们的项目相同的工作室版本编译的。
  • 是的,我知道有一个隐式转换.. @SeanCline 它也适用于 SFML 2.0 吗?

标签: c++ sfml stdstring


【解决方案1】:

getString() 返回字符串的 SFML 包装器,使用 .toAnsiString()

string str = input_text.getString().toAnsiString();

【讨论】:

    猜你喜欢
    • 2018-07-03
    • 2018-10-07
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多