问题标签 [iostream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2792 浏览

c++ - 如何工作?(C++)

只是出于好奇,iostream 如何访问输入输出系统。(我有一个不断重新发明轮子的坏习惯,我想知道我是否可以为 iostream 之类的东西构建一个自定义输入输出系统)。

0 投票
2 回答
848 浏览

c++ - cout.width 的反面是什么?(C++)

我试图std::cout.width(int)看看它做了什么,它将文本向右推以填充最小宽度:

变成:

填充最小宽度为 10。我想知道 A)是否有办法扭转这种情况,在文本后放置多个空格以填充最小宽度,并且 B)有没有办法创建最大宽度和最小宽度?

顺便说一句,是否可以创建一个派生自coutor的类ostream

0 投票
2 回答
1149 浏览

c++ - 使用字符串流代替字符串?- C++

我得到了一个用 C++ 编写程序的家庭作业,但我们不允许使用字符串类。但是,我们可以使用iostream库,包括 stringstream。我正在考虑使用 stringstream 来构建我的类、从函数返回等。

这对您来说是个好主意吗?我应该注意哪些陷阱?

0 投票
2 回答
840 浏览

c++ - $stdin 与使用 swig、C++ 和 Ruby 的 std::istream 兼容

我在 C++ 中有一个函数,它以 std::istream 作为输入:

使用 SWIG,我已经将它绑定到 Ruby,但是 Ruby 的 $stdin 变量与 C++ 中的流类之类的东西根本不同,所以我不确定如何 1) 以我的方式将 C++ 类公开给 Ruby可以使用 $stdin,或者 2) 将 $stdin 转换为 C++ 类可以理解的内容。

有人有将 C++ 中的 iostream 绑定到 Ruby 的经验吗?

谢谢。

0 投票
4 回答
16562 浏览

c++ - 当 fail() 为真时检测无法打开 ofstream 的原因

看起来这应该很简单,但我在网络搜索中找不到它。

我有一个 ofstream 是open()fail()现在是真的。我想知道打开失败的原因,就像errno我会做的那样sys_errlist[errno]

0 投票
2 回答
7985 浏览

c++ - 为什么 std::fstream 以它的方式设置 EOF 位?

我最近遇到了一个由使用 fstream::eof() 引起的问题。我从这里读到以下行:

如果已到达相关输入文件的末尾,则函数 eof() 返回 true,否则返回 false。

并且(错误地)假设这意味着如果我使用 fstream::read() 并读取文件末尾,函数 eof() 会告诉我。所以我做了这样的事情(非常笼统):

问题的出现是因为稍后在上面链接的页面上解释的内容(由于第一段的误导,我最初没有阅读):

相反,如果在最后一个标记之后碰巧有任何空格,则流不会进入 EOF 状态,但尝试读取另一个标记仍然会失败。因此,EOF 标志不能用作循环中的测试,该循环旨在读取所有流内容,直到 EOF。相反,应该在尝试读取后检查失败情况。

所以我改变了,现在我的循环检查 file.fail() 而不是 file.eof(),我了解 eof() 是如何工作的。我的问题是,为什么它会这样工作?是否存在需要这样做的情况?在我看来,一旦你通过了 EOF,你就通过了 EOF,并且 eof() 应该返回 true。

更新 感谢您的回复,我想我明白了。我正在执行的唯一操作是read(),我立即检查fail(),所以我认为我没问题。现在,我的问题是,我使用 eof() 做什么?

0 投票
2 回答
5615 浏览

c++ - Boost asio ip tcp iostream 错误检测

问候。我刚刚开始使用 boost::asio 库,并且遇到了一些与 boost::asio::ip::tcp::iostream 相关的早期困难。

我的问题有两个部分:

1.) 如何仅使用主机和端口号连接 iostream?

我可以使客户端服务器[boost.org] 示例按照编码正常工作。服务器明确指定端口:

端口 13 是著名的“白天”服务端口。

客户端示例通过指定主机和服务名称进行连接:

对于我自己的应用程序,我想将服务器放在任意端口上并按编号连接,如下所示:

服务器:

客户:

如果在客户端中,我尝试直接指定端口号(而不是按名称指定服务),则流无法连接。有没有办法做到这一点?我不清楚连接的论点可能/应该是什么。


2.) 测试调用 iostream::connect 成功的首选方法是什么?

该函数返回 void,并且没有抛出异常。到目前为止,我设计的唯一方法是测试 stream.fail() 和/或 stream.good()。这是这样做的方法,还是有其他方法。


对其中一项或两项的建议将不胜感激。另外,如果我忽略了相关的文档和/或示例,那就太好了。到目前为止,我还无法通过阅读图书馆文档或搜索“网络”来回答这些问题。

0 投票
3 回答
8360 浏览

c++ - 编译 C++ 代码时出现 ios::nocreate 错误

同时,编译一个包,在 RHEL 5.0 上用 C++ 编写。我收到以下错误。

> 错误:nocreate不是成员std::ios

源代码对应于:

ifstream tempStr( argv[4], ios::in| ios::nocreate);


我试过了

#g++ -O -Wno-deprecated <file.cpp> -o <file>

也:

#g++ -O -o <文件>

请提出解决方案。

0 投票
2 回答
2493 浏览

c++ - 使用 STL 流时如何格式化我自己的对象?

我想将我自己的对象输出到 STL 流,但具有自定义格式。我想出了这样的东西,但是因为我从来没有使用过语言环境和灌输,所以我不知道这是否有意义以及如何实现 MyFacet 和 operator<<。

所以我的问题是:这是否有意义以及如何实现 MyFacet 和 operator<< ?

以下是一个简化的示例,它向您展示了我想要做什么。

0 投票
3 回答
8887 浏览

c# - 将 RichTextBox 的内容写入文件

我有一个 RichTextBox,我想将文本保存到文件中。RichTextBox 的每一行都以 CR+LF ("\n\r") 结尾,但是当我将其保存到文件时,这些行最后只包含 LF 字符。

如果我将内容复制到剪贴板而不是文件,一切正常(剪贴板的内容在每一行的末尾都有 CR+LF,当我粘贴到 Notepad++ 时我可以看到它)。txtClass 是 RichTextBox。

private void btnToClipboard_Click(object sender, EventArgs e) { //按需要工作 Clipboard.SetText(txtClass.Text); }

此时,我也尝试了

并带有所有 Enconding avalilables。

如果我使用 SW.Write("Line One\r\nLineTwo\r\nLineThree") 也可以正常工作。

谢谢你的帮助