私のコードには、文字列ストリームに「数値」のようなものを追加するループがあります。ループが終了したら、',' を抽出して '}' を追加し、ループが繰り返される場合は '{' を追加する必要があります。
ignore() を使用して ',' を削除できると思いましたが、うまくいきませんでした。私が説明したことを実行する方法をご存知ですか?
例:
douCoh << '{';
for(unsigned int i=0;i<dataSize;i++)
if(v[i].test) douCoh << i+1 << ',';
douCoh.get(); douCoh << '}';
ベストアンサー1
stringstream
を使用して、 をシークして 1 文字戻ることができますstringstream::seekp
。最後の文字は削除されず、書き込みヘッドが移動するだけであることに注意してください。この場合は、最後の文字を で上書きするため、これで十分です}
。
douCoh << '{';
for(unsigned int i=0;i<dataSize;i++)
if(v[i].test) douCoh << i+1 << ',';
douCoh.seekp(-1,douCoh.cur); douCoh << '}';