string类型的格式化输出

来源:互联网 发布:淘宝助理怎么导入图片 编辑:程序博客网 时间:2024/05/28 15:20

在c语言中,对于char类型,我们有spirntf、snprintf进行格式化输出,但是string类型对格式化输出的支持不是很理想;

例如对于功能

sprintf(str, "bob's address is %s, and kevin's address is %s\n", add1, add2);

可以定义一个stringstream

std::stringstream fmt;fmt  << "bob's address is " << add1 << " and kevin's address is " << add2;strcpy(str, fmt.c_str());

更类似sprintf类似的功能,可以借助boost来实现:

#include <string>#include <boost/format.hpp>int main() {    std::string add1,add2;    // apply format     boost::format fmt = boost::format("bob's address is %s, and kevin's address is %s") % add1 % add2;     // assign to std::string std::string str = fmt.str(); std::cout << str << "\n";}






0 0