读取文件并保存在 iStream C++ 中
read file and save in istream c++
我对C++相当陌生,我有这个任务来验证文件的每一行。
我必须创建一个只有一个参数的函数(const std::istream&p_is)
我的问题是如何读取文件并将缓冲区保存到基本的 istream。
我找到了如何输出它,但我无法弄清楚如何将其保存在p_is
到目前为止,我的代码与我在这里找到的示例相去甚远
std::filebuf fb;
if (fb.open ("test.txt",std::ios::in))
{
std::istream File(&fb);
while (File)
std::cout << char(File.get());
fb.close();
}
这将在控制台中完美地输出测试.txt内容
提前感谢!
我想我现在明白你想做什么了。您可以使用将指针指向std::streambuf
的operator<<()
重载轻松地将缓冲区的内容复制到另一个std::istream
:
void copy_buf(std::istream& is)
{
if (std::ifstream in("test.txt"))
is << in.rdbuf(); /*
^^^^^^^^^^^^^^^^^ */
}
istream
,就像在输入流中一样。你不能写信给它。您可以创建输出文件的第二个流 (ostream
),或者首先创建一个追加流。
也就是说,我真的,真的怀疑你是否正确阅读了你的作业,你的要求毫无意义。
相关文章:
- 为什么istream不支持右值提取
- 将无符号char*转换为std::istream*C++
- 需要从 istream 和 ostream 派生 iostream
- 使用std::istream::peek()总是安全的吗
- 使用 istream 参数读取的 istream 函数
- istream std::cin如何修改自定义istream缓冲区
- 为什么我在使用 istream 迭代器时会出现 seg 错误?
- 在清除 istream 之前,我不应该需要取消获取它吗?
- C++,如何根据运行时条件构造引用不同 istream 对象的对象?
- 如何将QByteArray转换为std::istream或std::ifstream?
- 逗号在重载 ostream 和 istream 在结构中分开
- 为什么 Clang std::ostream 写一个 std::istream 无法读取的双精度?
- 从函数返回 istream 的正确方法
- 阅读从 istream 到矢量的不同类型列表
- 关于 istream 中的错误处理的问题
- C++ 模板类无法修复 ostream 和 istream 函数
- 如何使 std::istream 从键盘获取输入(如 std::cin)?
- iStream 运算符跳过空格字符
- 如何在 c++ 中将 IStream 转换为 Base64 字符串
- 如何为缺少预定义运算符而不扩展命名空间"std"的标准类型定义运算符>> (istream &, ...)?