繁体   English   中英

C ++:如何在函数中使用%i?

[英]C++: How To Use %i in Function?

我有一个问题,可以在函数中使用%i吗? 这是我需要做的。 我有一个函数回调:

engine.gui->menu.addItem(Menu::AGILITY,"Agility (+1 defense)");

我想以这种方式使用它:

engine.gui->menu.addItem(Menu::AGILITY,"Agility (%i defense)",engine.level);

我该如何实施,或者甚至不可能? 我尽了最大的努力去做一些事情,但是却没有做到。 :(我之所以这样做,是因为玩家报仇到下一个级别,engine.level计数变为++,因此玩家级别提升后,他可以在不同级别获得更多敏捷性,然后进行级别划分,可以知道有多少个级别他可以获得的敏捷性。

最有可能的boost::formathttp://www.boost.org/doc/libs/1_54_0/libs/format/ )应该可以做您想要的。 它不是确切的语法,但应该接近。

如果您拥有C ++ 11,则可以执行以下操作:

engine.gui->menu.addItem(
        Menu::AGILITY,
        "Agility (" + std::to_string( engine.level ) + " defense)" );

如果您没有C ++ 11,则您的工具箱中应具有与std::to_string等效的名称。 就像是:

template <typename T>
std::string
toString( T const& obj )
{
    std::ostringstream result;
    result << obj;
    return result.str();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM