iostream 相关问题

C ++ iostream库是一个面向对象的库,它使用流提供输入和输出功能。 iostreams类支持内置类型的类型安全I / O,并且可以通过重载>>和<<运算符来扩展以支持用户定义的类型。

streambuf 到底是什么?我该如何使用它?

我正在尝试更多地了解 I/O 流在 C++ 中如何工作,但我真的很困惑何时使用什么。 Streambuf 到底是什么? 与字符串相比,我什么时候使用streambuf...

回答 2 投票 0

查找数组中的最大和最小数

我编写了以下代码,允许用户输入一个数组并给出该数组中的最大值和最小值 当我输入数组值的长度 = 4 且数组元素为:- 32,152,38 时...

回答 4 投票 0

将 boost::filesystem 与 std::ifstream 一起使用?

我正在使用带有 C++ 20 和 boost 1.71.0 的 Ubuntu 20.04 LTS。 以下编译无错误并输出示例文件内容: #包括 #包括 #包括 我正在使用带有 C++ 20 和 boost 1.71.0 的 Ubuntu 20.04 LTS。 以下编译无误并输出示例文件内容: #include <iostream> #include <string> #include <boost/filesystem.hpp> #include <filesystem> int main() { boost::filesystem::path output_dir = boost::filesystem::path("/out/"); boost::filesystem::path sample_file = output_dir / "sample.txt"; std::ifstream ifs{sample_file}; std::string content((std::istreambuf_iterator<char>(ifs)), (std::istreambuf_iterator<char>())); std::cout << "Sample file content: " << std::endl << content << std::endl; return 0; } 那么这是如何运作的呢?这是 boost::filesystem::path 隐式转换为 std::string 吗? 使用安全吗? Boost Filesystem fstream的文档表明: C++ 标准库的标头使用 const char* 来传递表示文件名的参数,该用法出现了七次。 文件系统库的 fstream.hpp 标头在命名空间 boost::filesystem 中提供等效组件,但七个 const char* 参数已被 const path& 参数替换。 文件系统库的 fstream.hpp 标头仅使用标准库组件作为基类,然后重新声明构造函数和打开函数以采用 const path& 类型而不是 const char* 类型的参数。 其使用记录在2 分钟教程和示例中。 std::basic_fstream有一个构造函数,它采用模板化的FSPath类型https://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream 这个重载应该只接受std::filesystem::path,但看起来像libstdc++接受任何符合std::filesystem::path接口的类。这是非标准的,不能与其他标准库一起编译:https://godbolt.org/z/njr5s3har 您可以使用 boost/filesystem/fstream.hpp 标题修复此问题,但您必须将 std::ifstream 更改为 boost::filesystem::fstream。更好的解决方法是改用 std::filesystem,这主要是 boost::filesystem 的替代品。

回答 2 投票 0

以线程安全的方式使用std::ios_base::pword()?

我想使用 pword() 来存储任何流的附加对象,但是以线程安全的方式,特别是第一次为给定流分配对象的一个实例。 ...

回答 1 投票 0

C++ ostream 重载不起作用,我做错了什么?

编辑: 经过一些评论后,这是我现在的代码,遵循此链接。(更好,但我仍然有错误) 从一切中: ostream& 运算符<<(ostream& out, Device& v) { out &...

回答 3 投票 0

为什么 C++ STL iostream 不“异常友好”?

我习惯了 Delphi VCL 框架,其中 TStream 会在错误时抛出异常(例如,文件未找到、磁盘已满)。我正在移植一些代码以使用 C++ STL,但被 iostreams 发现了......

回答 4 投票 0

使用循环将元组数据写入文件

我想将元组写入/读取到BIN文件中。我知道如何写入/读取元组的每个元素,但元组有 13 个元素,我宁愿使用循环一次完成所有这些元素。但我已经

回答 1 投票 0

通过ostream输出C数组

我正在尝试使用 iostream 输出 C 数组。 对于整数数组,我写了这样的代码 模板 ostream& 运算符<< (ostream& os, const int (&x)[N]) { f...

回答 3 投票 0

如何使用 libjpeg 从 std::istream 读取 JPEG?

libjpeg 可以从 FILE* 或缓冲区读取 JPEG 数据。我的数据来自 std::istream。我可以将整个 std::istream 读入缓冲区以与 libjpeg 一起使用,但我宁愿让 libjpeg 读取

回答 2 投票 0

向 std::cout 输出 NULL 字符是否安全?

虽然这是一个很小的问题,但是每次当我需要循环打印一些数据时,如何安排分隔符总是让我像一只无聊的苍蝇一样烦恼。 例如: 标准::设置<...

回答 1 投票 0

将 NULL 字符输出到 std::cout 是否安全?

虽然这是一个很小的问题,但是每次当我需要循环打印一些数据时,如何排列分隔字符总是让我像一只无聊的苍蝇一样烦恼。 例如: 标准::设置<...

回答 1 投票 0

没有这样的文件或目录#include <iostream>

我使用 Visual Studio Code,但 C++ 扩展存在问题。 当我包含 iostream 时,它会返回该错误: #include 检测到错误。请更新您的 includePath。花体...

回答 1 投票 0

C++ 输入/输出流

我在 C++ 中的 I/O 流有问题。我必须编写一个程序,从文件读取数据并将其写入另一个文件。 CMD 中的命令应类似于:“program < file1 > file2&quo...

回答 1 投票 0

cin 不在 Do..While 循环中工作,程序在启动后直接崩溃

我是一个C++初学者,我陷入了自我训练。 我想做一个猜数字游戏 - 基本上是相当简单的任务。 该问题出现在 do..while 循环中。我想读入

回答 1 投票 0

包装子进程的stdout/stderr

我想捕获并显示通过 Python 子进程调用的进程的输出。 我想我可以将我的类文件对象作为命名参数 stdout 和 stderr 传递 我可以...

回答 5 投票 0

如何逐行读取文件或一次读取整个文本文件?

我正在学习介绍文件的教程(如何从文件读取和写入文件) 首先,这不是作业,这只是我寻求的一般帮助。 我知道如何一次读一个单词...

回答 9 投票 0


std::set precision 如何影响一般浮点格式?

我正在阅读 Nicolai M. Josuttis 的“C++ 标准库 - 教程和参考”,第 15 章:使用流类的输入/输出。 在 15.7.6 浮点表示法中,有一个表

回答 1 投票 0

了解 C++ 通用浮点格式

如果这之前已经发布过,我很抱歉。我开始阅读 Nicolai M. Josuttis 所著的《C++ 标准库 - 教程和参考》一书。 我现在正在阅读这一章

回答 1 投票 0

关于标准输入流 std::cin 及其如何解析 double 和 ints 的问题

我正在阅读编程:使用 C++ 的原理和实践。目前我正在做第三章的练习,但是有一个问题难住了我。现在我可以让代码正常工作了,但我是

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.