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