我正在使用 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;
但是正确的方法是什么?