就像readsome甚至没有阅读。返回0,并且不读取任何字符。这是怎么了
#include <fstream>
#include <iostream>
int main ()
{
std::fstream stream("list.cpp", std::ios::in);
if (stream.good() || !stream.bad() || stream.is_open()) {
std::cout << "Well, stream looks good." << std::endl;
char justOneChar = 'L';
auto ssize = stream.readsome(&justOneChar, 1);
std::cout << ssize << " : " << justOneChar << std::endl;
}
return -1;
}
输出:
好吧,流看起来不错。
0:大
最佳答案
auto ssize = stream.readsome(&justOneChar, 1);
1
是要读取的最大字符数。如果流内部缓冲区在调用时为空,则将返回零作为返回值。以下引号(加粗体)显示了此方面:
基本上,这是一种获取尽可能多的字符(取决于您指定的限制)而不必等待流提供更多字符的方法。
关于C++ std::istream readsome不读取任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27098420/