2013-08-28 63 views
0

我有一個包含浮點型數字的變量,如何將其添加到字符串?C - 如何將一個浮點型變量添加到字符串

事情是這樣的:

int main() { 
    char postdata[] = "field1="; 
    float mynumber = 123.12; 
    postdata = postdata + mynumber; 
    return 0; 
} 

我想最終的結果是 「字段1 = 123.1」

它似乎沒有像POSTDATA + mynumber的:(

+4

查看'sprintf'函數,然後去購買[K&R](http://www.amazon.co.uk/C-Programming-Language-2nd/dp/0131103628)。 –

+0

請注意,C字符串操作可能會非常痛苦,因爲程序員負責確保沒有緩衝區溢出等,*無處不在*。如果您有選擇,請使用其他的東西。最簡單的方法是使用C++的一個小子集,特別是'std :: string',否則就是「C風格」的應用程序。 – hyde

+0

謝謝 - 這有幫助。 – Greg

回答

7

使用sprintf容易:

char buffer[32]; 
sprintf(buffer, "%s%f", postdata, mynumber); 

如果您需要一位數的精度:

char buffer[32]; 
sprintf(buffer, "%s%.1f", postdata, mynumber); 

Here是一個工作示例。

+2

除非想讓自己容易受到緩衝區溢出錯誤的影響,否則可以使用'snprintf'作爲首選項。 –

+1

由於你有一個固定大小的字符數組緩衝區,使用'snprintf'非常簡單:'snprintf(buffer,sizeof buffer,.....' – hyde

相關問題