调用iostringstream :: write时出错

时间:2012-06-30 16:35:51

标签: c++ iostream std

this website上,iostringstream::write功能的说明如下:

  

如果出现错误,则设置badbit标志

这些错误会是什么?

1 个答案:

答案 0 :(得分:3)

写入字符串流时的明显错误是,如果底层字符串缓冲区未能分配内存来保存正在写入的数据。但是请注意,您给出的链接是ostream::write,这可能由于其他原因而失败(例如,写入已关闭的管道或磁盘上的文件已满和/或写入将超过用户的允许范围。)

除了#1:没有iostringstream这样的东西 - istringstreamostringstream。两者结合的只是stringstream

除了#2:cplusplus.com并没有受到特别尊重。其他一些网站(例如cppreference.com)似乎更可靠/准确,至少作为一般规则(虽然我不得不指出我自己没有使用上述任何一个,所以我对它们的评论并不接近最后一个字。)