c++ 中将list中的元素合并,转换成string类型

c++ 中将list中的元素合并,转换成string类型

问题描述:

c++ 中将list中的元素合并,转换成string类型

实现函数 “string ListToString(const std::list& lstValue)”

将list中的元素合并,转换成string类型;

// Q1058622.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <iostream>
#include <sstream>
#include <memory>
#include <string>
#include <list>

using namespace std;

string ListToString(const std::list<int>& lstValue)
{
    if (lstValue.empty()) return "";
    std::ostringstream ss;
    int i = 0;
    for (auto it = lstValue.cbegin(); it != lstValue.cend(); it++, i = 1)
    {
        if (i != 0) ss << ",";
        ss << *it;
    }
    return ss.str();
}

int main()
{
    std::list<int> lstValue;
    lstValue.push_back(1);
    lstValue.push_back(2);
    lstValue.push_back(3);
    string s = ListToString(lstValue);
    cout << s << endl;
    return 0;
}

1,2,3

问题解决的话,请点下采纳

楼上的答案带了’,‘,
我将楼上的函数定义改成了:
string ListToString(const std::list& lstValue)
{
if (lstValue.empty()) return "";
string ss;
int i = 0;
for (auto it = lstValue.cbegin(); it != lstValue.cend(); it++)
{
ss = ss +(char) ((*it) + '0');
}
return ss;
}

输出结果是:123