次のコードを使用して、複数の値をカンマ区切りのファイル形式で書くのに役立ちます。私の問題は、最後の要素がnormcsv
に書き込まれた後にコンマを入れたくないということです。どのように私は一種の場合は句でbeg
を使用することができます。私は試してみたC++のイテレータの最後から2番目の位置を使用する方法
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: '.begin()'と繰り返されるのではなく、単純な 'bool'変数で状態を追跡します。 – ildjarn