=============================CString==================================
当有多个字串时,比如
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 );
===========================std::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;
std::string s = ostr.str();
附加说明
在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编写的.