c++ std::ifstream:检查是否留下字符供读取
C++ std::ifstream: check if characters are left to read
是否有一种方法来检查是否有任何字符留在ifstream中读取,如果是,我该如何做到这一点。如果你确定这是不可能的,请告诉我。
要在编辑后得到您想要的内容,您可以使用peek()函数:
给定std::ifstream
称为f
if (f && f.peek() == EOF)
std::cout << "Nothing left to readn";
else
std::cout << "There is something to read or the stream is badn";
但请记住,这不是一个"更一般"的问题,这是一个不同的问题(也就是说,将此应用于您的原始问题将是一个错误)
您应该将读取操作放在while
条件中:
while(stream >> buffer) {
...
将一直读取,直到流为空或出现其他错误。
…但如果你真的想一次读取一个字符,你应该阅读下面的内容:从流中读取单个字符?
相关文章:
- 尝试一次将单个字符读取到大小不确定的数组中
- C++将 txt 数据和字符读取到 2D 数组中
- C++ UTF-8 瑞典语字符读取为 ASCII
- C++逐个字符读取二进制文件字符
- 逐个字符读取文件并使用<cctype>
- C 如何通过特定n字符读取TXT文件的值
- 如何使用4个字符读取C 的文本文件
- 使用C++中的字符读取具有文件 I/O 的文件
- 是否可以从C 中的文件中的线中的特定字符读取
- 将字符读取到数组
- 如何在 c++ 中逐个字符读取文件并通过 array_name[index] 访问它
- 如何从文本文件中读取,C++中逐个字符读取
- 如何将多个字符读取合并为std::向量
- 在 c++ 中逐个从文件字符读取
- C++ 中有多少个方法逐个字符读取字符串,以对每个字符执行所需的操作
- scanf 只能将 3 个字符读取到 5 位字符数组中
- 将行的前 X 个字符读取为字符串
- 逐个字符读取以查看它是否是数字
- 如何从字符**读取字符串
- 如何逐个字符读取文件的全部内容