问题标签 [ostream]
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.
c++ - 奇怪的字符出现在 C++ 的 ostream 中
我有一个程序应该模拟一个简单的文件系统,我想打印目录的结构,所以我重载了<<
运算符,并调用了另一个函数,该函数在 retursion 中遍历了我的结构。它有效,但是在输出中的某些行之前有一些奇怪的十六进制值。我操纵 iwth 的方式有问题ostream
吗?(我没有包括类定义,但没关系)
谢谢大家,任何答案!
c++ - C++ 错误无法解释:错误:“&”标记之前的预期初始化程序
我知道还有其他一些类似的帖子,但是我已经在这个错误上一个多小时了,无法弄清楚。这是给麻烦的代码
...
在这里,错误出现在第 1 行和第 28 行,其中 istream 和 ostream 重载。
谢谢你的帮助!
c++ - 与解析有关的令牌到底是什么
我必须在 C++ 中使用解析器和编写器,我正在尝试实现这些功能,但是我不明白什么是令牌。我的功能/操作之一是检查是否有更多令牌要产生
布尔解析器::hasMoreTokens()
我该怎么做呢,请帮忙
所以!
我正在打开一个包含文本的文本文件,所有单词都是小写的。我该如何检查它是否有更多令牌?
这就是我所拥有的
c++ - 使用 xsputn 和溢出继承 ostream 和 streambuf 问题
我一直在研究如何创建我自己的 ostream 以及一个 streambuf 来处理我的 ostream 的缓冲区。我实际上大部分都在工作,我可以将 (<<) 插入到我的流中并获取字符串没问题。我通过实现虚函数 xsputn 来做到这一点。但是,如果我在流中输入 (<<) 浮点数或整数,而不是字符串 xsputn 永远不会被调用。
我浏览了代码,我看到流正在调用 do_put,然后是 f_put,它最终尝试一次将 float 1 个字符放入缓冲区。如果我的缓冲区没有空间,我可以让它调用我的虚函数溢出(int c)的实现,从而获得浮点数和整数的数据。
现在问题来了,我需要知道何时将浮点数放入缓冲区。或者换一种说法,我需要知道这是最后一次为流入的特定值调用溢出的时间。xsputn 对我有用的原因是因为我预先获得了整个值及其长度。所以我可以将它复制到缓冲区中,然后调用等待缓冲区已满的函数。
诚然,我滥用了 ostream 设计,因为我需要缓存输出,然后为每个输入值 (<<) 一次性发送所有输出。
无论如何要清楚,我将以另一种方式重申我的目标。我很有可能只是走错路了。
我想使用继承的 ostream 和 streambuf,以便我可以向其中输入值并允许它为我处理我的类型转换,然后我想将该信息传送到另一个对象,我将句柄传递给 streambuf 到(为了?)。该对象具有昂贵的 i/o,因此我不想一次发送 1 个字符的数据。
如果不清楚,请提前抱歉。谢谢你的时间。
c++ - 头文件中的C++操作符<<和>>方法,做的很不对
我的头文件中有这段代码,我在 ostream 和 istream 行上有很多错误。一个错误是“&”之前的“缺少”;”我很困惑,我对此很抱歉
提前致谢
c++ - 支持 std::ostream 运算符中的 const_string <<
我目前正在使用非常聪明的包boost::const_string
,直到http://libcxx.llvm.org/在 Ubuntu 上预打包或 GCC 使其__versa_string
(在 header 中ext/vstring.h
)成为默认字符串实现。libcxxstd::string
以及__versa_string
默认情况下使用 _small-string 优化 (SSO)。std::ostream
但是,缺少对输出到 an 的默认支持。编码
除非我们强制进入x
一个 c 字符串,否则它不起作用c_str()
它按预期编译和工作。我将以下行添加到const_string.hpp
这应该会提高性能,x.c_str()
因为size()
已经知道并且不需要通过搜索来NULL
计算c_str()
。我为我工作,但我不确定它是否适用于所有情况。我错过了什么吗?
c++ - 单链表 C++ ostream 和 istream -- 输出内存地址
我对此真的很陌生,现在正在学习单链表。我正在写一些代码,但我真的很困惑。我正在尝试编写读取方法和写入方法。我有一个我无法更改的测试工具。我只想能够读取流并输出流,这样它就不会返回内存地址。
谁能以非常简单的方式解释并帮助我修复此代码?
并在头文件中
谢谢你!
c++ - C++ toString 成员函数和 ostream 运算符 << 通过模板集成
我是一名初学者 C++ 开发人员,我有一个关于通过模板进行操作员集成toString
的问题。ostream
我有这样的代码:
代码编译无误,应用程序执行成功。使用这种方法好吗?我想在没有任何 boost 帮助的情况下实现它。
c++ - 派生类中的运算符重新定义但仍使用父类
具体来说,我希望能够ostream
operator <<
在一个基类的两个派生类中使用。
我正在创建的程序应该打印出“虚拟商店”中各种“产品”的产品详细信息。产品中有两种不同的书籍。这些书中的每一本书都应该拥有自己的:
此外,typeChildrensBook
需要持有最低年龄,并且TextBook
需要持有一个等级。
我定义了类Book
并从它派生了类ChildrensBook
和TextBook
. 我的问题是关于使用ostream
operator <<
打印信息。
能否在Book类中定义一个通用的<<函数,打印出两个派生类共有的所有信息,然后在派生类中重新定义<<时引用它?
例如,
然后在派生类中以某种方式:
所以我想我的问题可以总结为:我可以从子运算符中调用父运算符吗?如果可以,我使用什么语法?
我想到的另一个想法是为使用父打印运算符的孩子编写一个函数,然后从孩子的打印运算符中调用该函数。这意味着我在重新定义运算符时并没有尝试调用它,但仍然要求使用父运算符并单独重新定义子运算符。
c++ - 在 C++ 中继承和覆盖 ostream 运算符
我一直在努力寻找答案,但似乎没有人遇到与我完全相同的问题。
我正在使用几个派生类。每一个的 ostream 操作符 << 应该打印出一些共同的东西,以及一些特定的东西。稍后,我想进一步从这些派生类中派生出来,并且新的派生类再次需要打印出它们上面“世代”中的一些东西。
例如:
基类 .h 文件
Base.cpp 文件包括以下几行:
然后我得出:(FirstDerived.h)
FirstDerived.cpp:
然后我想得出:
第二个.cpp:
我认为问题很可能是程序一开始的声明,或者像Base::operator<<
.
另一种可能性是我没有在每个继承类的 .h 文件中重新声明它。我应该是,如果是,我应该使用什么语法?
有人建议我使用这种static_cast
方法,但我的教授(写作业的人,因此不会给我们太多帮助)说有更好的方法来做。有什么建议么?