常见得格式化方式

常见得格式化方式
c标准库:
printf
printf_s
sprintf
sprintf_s
sscanf
宽字节:w
printf %S 表示宽字节
wprintf
swprintf
swscanf
wscanf
自定义宏_tscanf _stscanf _stprintf _stprintf_s 更多详见tchar.h
c++标准库:
cstdio.h
snprintf 将格式化输出写入到有大小限制的缓存中
vfscanf 从流中读取数据到可变参数列表中
vscanf 读取格式化数据到可变参数列表中
vsnprintf 从可变参数列表中写入数据到有大小限制的缓存中
vsscanf 从字符串中读取格式化数据到可变参数列表中
stringstream

template< typename... Args >
std::string string_sprintf(const char* format, Args... args) {
    int length = std::snprintf(nullptr, 0, format, args...);
    if (length <= 0) {
        return "";
    }

    char* buf = new char[length + 1];
    std::snprintf(buf, length + 1, format, args...);

    std::string str(buf);
    delete[] buf;
    return std::move(str);
}

boost库:
format
示例:

std::cout << boost::format("%|1$1| %|2$3|") % "Hello" % 3 << std::endl;
std::cout << boost::format("%#x") % 0x1 << std::endl;
std::cout << boost::format("(x,y) = (%1$+5d,%2$+5d) \n") % -23 % 35;     // Posix-Printf style
std::cout << boost::format("%1%,%|6t|%2%") % "test" % 123 << std::endl;
//test, 123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值