[英]C++ Iterator List
我有一个疑问。 我有一个带有一些数据的对象列表(在这种情况下为存储名称)。
我迭代该列表:(pNames是我的列表按参数接收)
std::string names;
std::list<Names>::const_iterator it = pNames->begin();
while(it != pNames->end())
{
std::cout << names << it->namesUser;
++it;
}
问题:我需要将iterator的所有值保存在std :: string中,以便在mysql查询中使用此字符串(例如,从用户的年龄(在“(names”)中选择名称);)在此示例中,`std ::: cout <<名称<< it-> namesUser; 我可以在列表中看到所有名称,但是例如不能在查询中使用名称变量。 它仅适用于cout。 我是C ++编程的新手,那么将所有迭代器值存储在字符串中的方式是什么?
非常感谢。
问候
使用std :: 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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.