gpt4 book ai didi

c++ - 如何很好地输出分隔字符串列表?

转载 作者:太空狗 更新时间:2023-10-29 20:48:11 24 4
gpt4 key购买 nike

通常,当我不得不显示分隔字符串列表时,我会做类似的事情:

using namespace std;
vector<string> mylist; // Lets consider it has 3 elements : apple, banana and orange.

for (vector<string>::iterator item = mylist.begin(); item != mylist.end(); ++item)
{
if (item == mylist.begin())
{
cout << *item;
} else
{
cout << ", " << *item;
}
}

哪些输出:

apple, banana, orange

我最近发现了 std::ostream_iterator,如果发现它真的很好用的话。

但是使用下面的代码:

copy(mylist.begin(), mylist.end(), ostream_iterator<string>(cout, ", "));

如果得到:

apple, banana, orange, 

几乎完美,除了额外的,。有没有一种优雅的方法来处理特殊的“第一个(或最后一个)元素情况”并具有与第一个代码相同的输出,而没有它的“复杂性”?

最佳答案

虽然不是std:

cout << boost::algorithm::join(mylist, ", ");

编辑:没问题:

cout << boost::algorithm::join(mylist | 
boost::adaptors::transformed(boost::lexical_cast<string,int>), ", "
);

关于c++ - 如何很好地输出分隔字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804183/

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