对于puts (const char*)
,我读到了,"成功时,返回非负值。出错时,该函数返回EOF并设置错误指示符(ferror)。"
我试图让函数出错,这样我就可以cout
EOF返回,但我似乎无法回答。如果我不将char*
初始化为任何内容,或将其设置为NULL,则仍会返回非负成功值。什么东西实际上会使这个功能失败?感谢。
附带问题:如果你cout <<
一个应该返回EOF的功能,它是否会实际打印EOF&#39;,其他内容,或者什么都没有?这实际上是我试图首先测试的。
答案 0 :(得分:3)
如果您使用的是支持它的系统(例如Linux),您可以将程序的输出重定向到/dev/full
,这是一种在输入时产生无限零字节流的设备并且输出时ENOSPC
(&#34;设备上没有剩余空间&#34;)失败。
./ program&gt;的/ dev /全
当然,您必须将任何错误消息打印到stderr
(或std::cerr
)或文件。