- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 istream 和 read()
读取一些数据。我想知道我是否可以只测试 gcount()
的字节数,或者我是否需要测试 good()
、eof()
等,然后再调用 gcount()
。换句话说,即使由于 EOF 或其他内部问题导致读取失败,gcount()
是否始终设置在 read()
之后?
此外,如果这在标准中或您可以引用的地方进行了描述。我使用 cplusplus.com 作为引用,它说 gcount
“返回对对象执行的最后一个未格式化输入操作提取的字符数。”无论结果如何,我能否将“最后一次操作”之类的语句解释为最后一次操作?
最佳答案
Is
gcount()
always set after aread()
even if that read failed due toEOF
or some other internal problem?
是
gcount()
的工作仅仅是返回从最后一次未格式化输入操作中提取的字符数。当提取成功和失败时,标准不区分 gcount()
的值。显然,如果输入操作无法提取字符,则该值将为 0
。
因此,您只需将其用作条件即可测试提取是否成功。仅当您希望确定是否提取了一定数量的字符时,才在条件中使用 gcount()
。
关于C++ istream : Is gcount() always set after a read() even if it fails?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22083335/
假设我有一个 std::istream 指向以下内容(换行符是一个 '\n' 字符): 12345678 9 并运行以下代码: std::istream & is = ... char buff[9]
我写了下面的代码 #include using namespace std; int main() { char a[30]; cin.read(a,10); cout usi
考虑代码: const int length = 1024 * 1024; // 1048576 char buffer[length]; fstream f; int main(int ar
我只是想知道为什么这个标准函数为 cplusplus.com 上的示例代码返回的字符数为 9 // cin.gcount example #include // std::cin, std:
我在调用 后发现 ifstream 对象上的 gcount getline(istream &, string &) 返回 0。 应该是这样吗? 最佳答案 是的,gcount() 应该返回对对象执
我正在使用 istream 和 read() 读取一些数据。我想知道我是否可以只测试 gcount() 的字节数,或者我是否需要测试 good()、eof() 等,然后再调用 gcount()。换句话
g 在 std::iostream 的 gcount、tellg 和 中代表什么>寻求成员?而pcount、tellp和seekp中的p? 为什么不把它们叫做count、tell和seek? 最佳答案
我正在windows下开发一个应用程序,我正在使用fstreams来读写文件。 我正在用这样打开的 fstream 写作: fs.open(this->filename.c_str(), std::i
全部。我的一个新项目涉及从文件中读取名称,我意识到,特别是对于喜欢(尝试,更喜欢)制作游戏的人来说,读取/写入以存储信息非常有用。我调查了一下,发现 std 库再次通过。后来我意识到,至少对我来说,来
我正在尝试将一个内部库包含到我的应用程序中,但出现以下链接错误。库已找到。该库是使用与应用程序完全相同的标志编译的。这在 windows 上工作正常,但在 osx 上会带来麻烦。对我来说它似乎找不到
我是一名优秀的程序员,十分优秀!