2013年5月6日 星期一

(C++) stringstream介紹

如果想將 int 轉成 string,
傳統C的作法如下:

int a = 10;
wchat_t wstr = [1024];
wsprintf(wstr, L"%d", a);

以上做法有兩點需要注意,
1. 格式 類型(%d)
2. Buffer大小

格式類型給錯,
會造成不可預期的錯誤,
Buffer大小,
太大 不經濟,
太小 那就糟了。

可以用stringstream來解決,
有istringstream、ostringstream及stringsteam,
分別對應輸入、輸出及輸出+輸入,
用例子說明最快:

#include
#include
#include

int main( )
{
   int a = 10;
   std::wstring wstr;
   std::wstringstream wstream;

   wstream << a;
   wstream >> wstr;
}


沒有留言:

張貼留言