Ice*_*000 6 c++ string stringstream
例如,在解析文本文件时,有时这个文件有这样的东西:
keyword a string here
keyword another string
keyword
keyword again a string
Run Code Online (Sandbox Code Playgroud)
请注意,第3行有一个空字符串(无空格或空格).问题是当你执行stringstream >> laststring,而stringstream有一个空字符串(null或只是空格)时,它不会覆盖"laststring" ",它什么都不做.无论如何都要事先检查这种情况?我不想创建一个临时空字符串只是为了检查它在stringstream >>之后仍然是空的,似乎很蹩脚.
Pio*_*ycz 17
当你无法从流中读取时 - 它的状态会发生变化,因此当转换为bool时将返回false:
bool read = (ss >> laststring);
Run Code Online (Sandbox Code Playgroud)