147得票5回答
为什么std::getline()在格式化提取后跳过输入?

我有以下一段代码,用于提示用户输入他们猫的年龄和名字: #include <iostream> #include <string> int main() { int age; std::string name; std::cin >&...

99得票6回答
使用C++文件流(fstream),如何确定文件的大小?

我相信我在手册中漏掉了这一点,但是如何使用C++ fstream头文件中的istream类确定文件的大小(以字节为单位)?

60得票7回答
从char*获取一个istream

我有一个char*指针和从库接收到的数据长度,需要将这些数据传递给一个需要istream参数的函数。 我知道可以创建stringstream,但那样会复制所有数据。而且,数据肯定会有0,因为它是一个zip文件,创建stringstream会一直读取数据直到遇到第一个0。 有没有办法在不复制...

57得票2回答
C++流混淆:istreambuf_iterator与istream_iterator有什么区别?

istreambuf_iterator 和 istream_iterator 的区别是什么? 并且一般而言,streams 和 streambufs 有什么不同? 我真的找不到任何清晰的解释,所以决定在这里提问。

46得票5回答
为什么 istream/ostream 很慢

在http://channel9.msdn.com/Events/GoingNative/2013/Writing-Quick-Code-in-Cpp-Quickly的50:40处,Andrei Alexandrescu开了一个关于istream效率不高/慢的玩笑。 我曾经遇到过ostrea...

28得票5回答
逐字节读取二进制输入流

我试图使用 ifstream 逐字节读取二进制文件。以前,我曾经使用 get() 等 istream 方法一次性读取整个二进制文件,没有遇到问题。但我的当前任务需要逐字节读取,并依赖于 io 系统的缓冲来提高效率。问题是我似乎比应该提前几个字节到达了文件末尾。所以我写了以下的测试程序:#inc...

26得票2回答
为什么istream对象可以用作bool表达式?

有人知道为什么istream对象可以用作布尔表达式吗?例如: ifstream input("tmp"); int iValue; while (input >> iValue) //do something; 在这里,input >> iValue返回一...

23得票5回答
istream::getline 返回类型

istream::getline方法返回什么?我在问这个问题是因为我看到要循环遍历一个文件,应该这样做:while ( file.getline( char*, int ) ) { // handle input } 返回的是什么?

17得票6回答
非复制的istringstream

所以,当初始化istringstream时,会复制字符串的内容,例如:string moo("one two three four"); istringstream iss(moo.c_str()); 我想知道是否有一种方法可以让std :: istringstream使用给定的c_str作为...

16得票2回答
如何在C++中从istream对象读取时检测空行?

我该如何检测一行是否为空? 我有以下代码:1 2 3 4 5 我正在使用 istream r 进行阅读:int n; r >> n 我想知道何时到达4和5之间的空格。 我尝试以字符方式读取并使用.peek()来检测\n,但这会检测到1后面的\n。如果我没错,上述输入的翻译是: ...