我有一个疑问。我有一个包含一些数据的对象列表(在本例中用于存储名称(。
我迭代列表:(p名称这是我的列表按参数接收(
std::string names;
std::list<Names>::const_iterator it = pNames->begin();
while(it != pNames->end())
{
std::cout << names << it->namesUser;
++it;
}
问题:我需要将迭代器的所有值保存在 std::string 中,以便在 mysql 查询中使用此字符串(例如,从名称在 ('names'( 中的用户中选择年龄;)在这个带有"std::cout <<名称<<它的>名称用户;例如,我可以看到列表中的所有名称,但不能在查询中使用名称变量。它仅适用于 cout。我是 c++ 编程的新手,那么将所有迭代器值存储在字符串中的方法是什么?
多谢。
问候
ostringstream 而不是 std::cout
http://www.cplusplus.com/reference/sstream/ostringstream/
#include <sstream>
....
std::ostringstream names;
std::string delimiter = ",";
std::list<Names>::const_iterator it = pNames->begin();
if (it != pNames->cend())
{
names << it->pNames;
it++;
}
while(it != pNames->cend())
{
names << delimiter << it->namesUser;
++it;
}
std::string result = names.str();