=============================CString==================================spa
當有多個字串時,好比
int n1 = 5;
int n2 = 10;
char sz1[] = "abcdefg";
char sz2[] = "hijklmn";
用std中的string如何寫出最簡單的代碼獲得MFC中CString以下效果:
CString s;
s.Format(" result: %d + %d = %d/n sz1: %s/n sz2: %s/n", n1, n2, n1+n2, sz1, sz2 ); orm
===========================std::string==================================string
int n1 = 5;
int n2 = 10;
char sz1[] = "abcdefg";
char sz2[] = "hijklmn";
std::ostringstream ostr; // include <sstream>
ostr << "result:" << n1 << "+" << n2 << "=" << n1+n2
<< "/nsz1:" << sz1
<< "/nsz2:" << sz2;
//std::cout << ostr.str().c_str() << std::endl;it
std::string s = ostr.str();class
附加說明stream
在C++有兩種
一個是在<sstream>另外一個是<strstream>它們實現的東西基本同樣, 區別是前者爲前標準.
而前標準裏ostringstream::str()是返回std::string的.
<strstream>包含
class strstreambuf;
class istrstream;
class ostrstream;
class strstream;
它們是基於char*編寫的
<sstream>
class istringstream;
class ostreamstream;
class stringbuf;
class stringstream;
class ...
....
它們是基於std::string編寫的. margin