迭代C ++中的字符串列表,出了什么问题?

时间:2011-10-03 10:59:13

标签: c++ string iterator

我正在尝试打印出一个字符串列表:

std::list<String> const &prms = (*iter)->getParams();
std::list<String>::const_iterator i;
for(i = prms.begin(); i != prms.end(); ++i){
  log.debug("  Param: %s",*i);
}

但我的程序崩溃说Illegal Instruction。我做错了什么?

1 个答案:

答案 0 :(得分:11)

*iString,而不是char *。如果log.debug()printf系列的函数,则需要以零结尾的字符串。根据{{​​1}}类的实现方式,您可能会有一个返回String的函数。

例如const char *该功能 std::string

c_str