在MFC中CString 有Format函数来格式化字符串. 很方便.
C函数中有sprintf函数, 也比较方便, 但是需要知道所需要的内存空间是多少.
而std::string却没有类似的Format函数.
可以这样:
#include <sstream>
std::ostringstream s;
s << 1234<< "aaa" << 5678;
std::string strTemp = s.str();
但要注意回车换行的问题.
在我们使用sprintf时, 例如: sprint("a\r\n"); 二进制是 a, 0x0D, 0x0A.
但是下面:
std::ostringstream ostrStream;
ostrStream << "a\r\n"; // 二进制是 a, 0x0D, 0x0A
ostrStream << "a" << std::endl; // 二进制是 a, 0x0A
可以这样理解: 在std::ostringstream中 \r 代表 0x0D, \n代表 0x0A
ostrStream.str(""); // 清空内容