我有以下一段代碼,它可以幫助我將一堆值寫入逗號分隔的文件格式。我的問題是,我不想在最後一個元素寫入normcsv
後留下一個逗號。如何使用beg
的那種如果子句中:如何在C++中使用迭代器的倒數第二位
if(beg == penultimate element)
then.... bla bla...
一切我嘗試了結束了迭代發瘋無效
ReadLine.erase(0,17);
int offsets[] = {8,8,8,8,8,8};
boost::offset_separator f(offsets, offsets+6);
boost::tokenizer<boost::offset_separator> RVBEARline(ReadLine,f);
boost::tokenizer<boost::offset_separator>::iterator beg;
for(beg=RVBEARline.begin(); beg!=RVBEARline.end();++beg)
{
copy=*beg;
boost::trim(copy);
if(copy.compare(0,1,".")==0)
{
copy.insert(0,"0");
}
normcsv << copy <<",";
}
+1,除了我會避免對每個循環迭代都調用'.begin()'和調用'.end()'(在條件中)。 –
你會怎麼做? – Lumpi
@Lumpi:用一個簡單的'bool'變量跟蹤你的狀態,而不是重複比較'.begin()'。 – ildjarn