2013-10-29 41 views
0

我是一個Objective-C開發人員,有時需要處理C/C++代碼。 我有一個使用C++編寫的函數,它記錄了一個名字的事件,例如Level_12_Pack_10。我想創建一個動態的C++字符串,然後我可以更改級別和打包數字。 在Objective C中,使用一些代碼很容易:[NSString stringwithformat],但在C++中,對我來說有點困難。 任何人都可以幫我做嗎?用給定的格式創建一個C++字符串

+0

你想要什麼很容易。告訴我們你已經嘗試過了。在stl中查找std :: string。您可能會查找ostream運算符<< overloading的示例。 – ChuckCottrill

回答

1

我不認爲C++支持像這樣內置可變變量的字符串。像這樣做一個類來格式化字符串太過於頂層了。也許你可以得到的最接近的就是用stringstreams:

#include <sstream> 
string makeMyString(int level, int pack) { 
    stringstream ss; 
    ss << "Level_" << level << "_Pack_" << pack; 
    return ss.str(); 
} 

如果您有需要讀取和改變內部的值的字符串,類似的功能都可以使用。

+0

完全正確,謝謝 – lenhhoxung

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; 
相關問題