簡體   English   中英

遍歷C ++中的字符串列表,出了什么問題?

[英]Iterating over a list of Strings in C++, what's going wrong?

我試圖打印出這樣的字符串列表:

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 我究竟做錯了什么?

*iString ,而不是char * 如果log.debug()printf系列的函數,則需要一個以零結尾的字符串。 根據String類的實現方式,您可能具有返回const char *const char *

例如,使用std::string函數是c_str

for(std::list<std::string>::const_iterator i = my_list.begin(); i != my_list.end(); ++i)
{
     printf("%s\n", i->c_str());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM