阅读 77

getline 使用

c++ - safe reading from a stream in a for loop using getline - Stack Overflow

2 down vote

The iostreams by default do not throw exceptions when errors occur. If you want to enable them:

cout.execeptions( std::ios::badbit );

would enable exceptions if badbit is set.

To enable them all:

cout.execeptions( std::ios::badbit 
                   | std::ios::eofbit 
                   | std::ios::failbit );

The exceptions thrown are of type:

std::ios_base::failure

which is derived from std::exception.

In general though, it is easier not to use execptions, but to use constructs like:

while( std::getline( myStreamObj, line ) ) {
   // process line}


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐