The*_* do 113 c++ stringstream
stringstream parser;
parser << 5;
short top = 0;
parser >> top;
parser.str(""); //HERE I'M RESETTING parser
parser << 6; //DOESN'T PUT 6 INTO parser
short bottom = 0;
parser >> bottom;
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?
CB *_*ley 226
通常要"重置"一个字符串流,您需要将基础序列重置为空字符串,str并清除任何失败和eof标志clear.
parser.str( std::string() );
parser.clear();
Run Code Online (Sandbox Code Playgroud)
通常情况下,第一个>>到达字符串的末尾并设置eof位,尽管它成功地解析了第一个short.此后流上的操作立即失败,因为流的eof位仍然设置.