这就像readsome甚至没有阅读。返回0并且不读取任何字符。这里有什么问题?#include#includeintmain(){std::fstreamstream("list.cpp",std::ios::in);if(stream.good()||!stream.bad()||stream.is_open()){std::cout输出:嗯,流看起来不错。0:大号 最佳答案 咨询areference,Thebehaviorofthisfunctionishighlyimplementation-specific.Forexamp
根据Boost.Iostreams的提升引用(在第3.6节中,最底部):http://www.boost.org/doc/libs/1_64_0/libs/iostreams/doc/index.htmlAlthoughtheBoost.IostreamsFilterandDeviceconceptscanaccommodatenon-blockingi/o,theC++standardlibrarystreamandstreambufferinterfacescannot,sincetheylackameanstodistinguishbetweentemporaryandperma
这段代码永远循环:#include#include#includeintmain(intargc,char*argv[]){std::ifstreamf(argv[1]);std::ostringstreamostr;while(f&&!f.eof()){charb[5000];std::size_tread=f.readsome(b,sizeofb);std::cerr这是因为readsome永远不会设置eofbit。cplusplus.com说:Errorsaresignaledbymodifyingtheinternalstateflags:eofbitThegetpointer