gpt4 book ai didi

c++ - 在 boost::format 中使用 * 宽度和精度说明符

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:14 26 4
gpt4 key购买 nike

我正在尝试将宽度和精度说明符与 boost::format 一起使用,如下所示:

#include <boost\format.hpp>
#include <string>

int main()
{
int n = 5;
std::string s = (boost::format("%*.*s") % (n*2) % (n*2) % "Hello").str();
return 0;
}

但这不起作用,因为 boost::format 不支持 * 说明符。 Boost 在解析字符串时抛出异常。

有没有办法实现相同的目标,最好是使用直接替代品?

最佳答案

试试这个:

#include <boost/format.hpp>
#include <iomanip>

using namespace std;
using namespace boost;

int main()
{
int n = 5;
string s = (format("%s") % io::group(setw(n*2), setprecision(n*2), "Hello")).str();
return 0;
}

group() 可让您使用参数封装一个或多个 io 操纵器。

关于c++ - 在 boost::format 中使用 * 宽度和精度说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18777400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com