使用 fmt 库将 vector<int> 转换为字符串
Posted
技术标签:
【中文标题】使用 fmt 库将 vector<int> 转换为字符串【英文标题】:Convert a vector<int> to string with fmt library 【发布时间】:2019-12-11 07:10:08 【问题描述】:如何从输出中移除 ?
#include <iostream>
#include <vector>
#include <fmt/format.h>
#include <fmt/ranges.h>
int main ()
std::vector<int> v = 1,2,3;
std::string s = fmt::format("", v);
std::cout << s << '\n'; // output : 1, 2, 3
return 0;
如何在上述代码的输出中删除 '' 和 '' 并且只打印 : 1, 2, 3
【问题讨论】:
听起来像XY problem。std::cout << s.substr(1, s.size()-2) << '\n';
我对fmt不熟悉,不过好像前缀
和后缀
是hardcoded in ranges.h
header。
【参考方案1】:
我引用fmt api:
#include <fmt/ranges.h>
std::vector<int> v = 1, 2, 3;
fmt::print("", fmt::join(v, ", "));
// Output: "1, 2, 3"
【讨论】:
以上是关于使用 fmt 库将 vector<int> 转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章
2018ICPC徐州区域赛网络赛G(vector+set模拟)