143得票9回答
在操作std::cout后恢复其状态

Suppose我有这样的代码:void printHex(std::ostream& x){ x<<std::hex<<123; } .. int main(){ std::cout<<100; // prints 100 base ...

138得票11回答
谁设计了C++的IOStreams,现在是否仍然被认为是良好设计?

首先,这似乎看起来是在寻求主观意见,但这不是我想要的。我希望听到一些有根据的关于这个话题的论点。 为了了解现代流/序列化框架应该如何设计,我最近购买了Angelika Langer和Klaus Kreft合著的书《C++标准库IOStreams和Locales》。我认为,如果IOStre...

132得票7回答
从文本文件读取直到EOF,重复最后一行。

以下的C++代码使用一个ifstream对象从文本文件中读取整数(每行一个)直到遇到EOF。为什么它会在最后一行读取两次整数?如何修复这个问题? 代码:#include <iostream> #include <fstream> using namespace std...

131得票7回答
C++中iostream头文件中的cout、cerr、clog有什么区别?应该在什么情况下使用它们?

我尝试在互联网上研究cout,cerr和clog之间的区别,但找不到一个完美的答案。我仍然不清楚什么时候使用哪一个。有人可以通过简单的程序解释给我,并说明什么情况下使用哪一个? 我访问了这个网站,展示了关于cerr和clog的小程序,但是那里得到的输出也可以使用cout获得。所以,我对每个的...

121得票4回答
为什么在读取输入后要调用cin.clear()和cin.ignore()?

Google Code University的C++教程以前有这段代码:// Description: Illustrate the use of cin to get input // and how to recover from errors. #include <iostrea...

107得票6回答
operator << 必须只接受一个参数。

#include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logic.cpp#include "a.h" ... ostream&amp; logic...

106得票2回答
什么是streambuf?我该如何使用它?

我正在尝试学习有关C++中I/O流的工作原理,但我真的很困惑应该何时使用何种流。 streambuf是什么? 与string、istream或vector相比,何时使用streambuf?(我已经了解了最后三个,但不知道streambuf如何与它们进行比较(如果可以)。)

104得票11回答
如何在C++中从cin读取到文件结尾(EOF)

我正在编写一个从用户输入直接读取数据的程序,想知道如何(不使用循环)从标准输入读取所有数据直到EOF。我正在考虑使用cin.get(input, '\0'),但是'\0'并不是真正的EOF字符,它只会读取直到EOF或'\0',以先出现的为准。 或者说使用循环是唯一的方法吗?如果是,那么最好的...

104得票9回答
如何逐行读取文件或一次性读取整个文本文件?

我正在学习一个关于文件操作的教程,其中包括如何从文件中读取和写入内容。 首先声明,这不是作业,只是我在寻求一般性的帮助。 我知道如何逐个单词地读取文件内容,但我不知道如何逐行或一次性读取整个文件。 如果我的文件包含1000个单词,逐个读取整个文件显然是不现实的。 我的文本文件名为“Read”,...

99得票3回答
什么是<iosfwd>头文件?

"&lt;iosfwd&gt; 头文件 有什么用?为什么它是必需的? 有例子吗?"