2014-04-29 62 views
0
char msg[40]; 
string s = "The price is $"; 
float price = 120.00; 
string input = " and the tax is $"; 
float tax = 5.00; 

例如,我想填寫消息「價格是$ 120.00美元,稅金是$ 5.00」。我到目前爲止沒有工作的代碼是:C++填充多個字符串和浮點數的字符數組

msg = s + price + input + tax; 

我被卡住了,現在無法弄清楚,任何幫助表示讚賞。謝謝。

回答

3

您應該聲明msgstd::string

然後,您可以使用stringstream將float轉換爲字符串或使用C++ 11,可以使用函數std::to_string(arg)以及arg的各種支持類型。

+0

您好,非常歡迎。很高興幫助。 –

1

可以使用C函數sprintf(除非你想使用C++字符串,在這種情況下stringstream是一個容易的選擇。

這可以通過

sprintf(msg, "The price is $%.2f and the tax is $%.2f", price, tax); 

做有一個printf語法的好描述here

+0

不知道這個函數的存在。它很容易使用,擺脫了我的錯誤,感謝您的幫助。 – cjw