使用 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 &lt;&lt; s.substr(1, s.size()-2) &lt;&lt; '\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> 转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

map/vector遍历删除

2018ICPC徐州区域赛网络赛G(vector+set模拟)

c++ 不使用 C 标准库将字符串和 int 转换为 char*

力扣15. 三数之和

强联通

8.图的邻点不同颜色