我是用C++編程的。如何將std :: string轉換爲C風格的字符串
這個問題的基本問題是,我似乎無法在任何地方找到答案。所以這裏是問題:
我想創建一個C風格的字符串,但我想把一個整數變量我放入字符串。所以很自然的,我用了一個流:
stringstream foo;
foo
<< "blah blah blah blah... i = "
<< i
<< " blah blah... ";
不過,我需要以某種方式獲得C風格的字符串傳遞給函數(原來foo.str()返回的std :: string)。所以這在技術上是一個三部分問題 -
1)如何將std :: string轉換爲C風格的字符串?
2)有沒有辦法從stringstream獲取C風格的字符串?
3)有沒有辦法直接使用C風格的字符串(不使用stringstreams)來構造一個帶有整型變量的字符串?
最簡單的方法是使用流創建一個'itos'函數,並使用'itos(564).c_str()',函數返回'foo.str()'。 – chris
'sprintf()'和緩衝區溢出安全的'snprintf()'將會按照您指定的格式填充一個cstring。 – jedwards