突然遇到需要对一个string类型的变量进行格式化输出,一时不知道怎么做。google了一下,终于找到了答案。
ostringstream os;
os < < "abc = " < < abc;
string s = os.str();
所需头文件:#include <sstream>
看到这样的代码,觉得也不是那么简单,要写那么多句代码。
如果是我,我会选择用这种方式,因为sprintf的格式控制比直接用ostringstream 更简洁,而且对于特殊的宽度控制等都比较方便,如下所示:
char temp[100] = {0};
sprintf(temp, "abc = %s", abc);
string s = temp;