我是一名 Objective-C 开发人员,有时我必须处理 C/C++ 代码。我有一个用 C++ 编写的函数,它记录一个带有名称的事件,例如 Level_12_Pack_10。我想创建一个这样的动态 C++ 字符串,然后我可以更改级别和包号。在 Objective C 中,使用几行代码很容易: [NSString stringwithformat] 但在 C++ 中,这对我来说有点困难。任何人都可以帮我做吗?
问问题
67 次
2 回答
1
我不认为 C++ 支持带有内置可变变量的字符串。制作一个类来格式化这样的字符串太过分了。可能你能得到的最接近的东西是使用字符串流:
#include <sstream>
string makeMyString(int level, int pack) {
stringstream ss;
ss << "Level_" << level << "_Pack_" << pack;
return ss.str();
}
如果您有一个字符串需要读取并更改其中的值,则可以使用类似的函数。
于 2013-10-29T03:15:26.227 回答
1
使用 c++11,只需使用 std::to_string(level) 等连接字符串就很简单了。
int level = 10;
int pack = 40;
std::string stuff = "Level_" + std::to_string(level) + "_Pack_" + std::to_string(pack);
//stuff is now "Level_10_Pack_40"
std::cout << stuff;
于 2013-10-29T04:25:52.453 回答