std::stringstream を使用して、固定形式の文字列を値に解析しています。ただし、解析される最後の値は固定長ではありません。
そのような文字列を解析するには、次のようにします。
std::stringstream ss("123ABCDEF1And then the rest of the string");
ss >> std::setw(3) >> nId
>> std::setw(6) >> sLabel
>> std::setw(1) >> bFlag
>> sLeftovers;
しかし、文字列の残りの部分が出力されるように幅を設定するにはどうすればよいでしょうか?
試行錯誤の結果、これが機能することがわかりました。
>> std::setw(-1) >> sLeftovers;
しかし、正しいアプローチは何ですか?