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

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

15得票2回答
从istream输入到char*指针?

我正在阅读Bjarne Stroustrup 的《Programming Principles and Practice Using C++》(第二版)。在第660-661页中,作者定义了一个函数如下:istream& read_word(istream& is, char* ...

9得票1回答
LWG2349会产生什么影响?

虽然libstdc++没有遵循规范,但libc++确实遵循规范,该规范规定将ios_base::failbit传递给basic_istream::exceptions对格式化输入没有影响。例如,以下代码: istringstream is{"ASD"}; double foo; i...

7得票1回答
当我使用自定义的streambuf类时,istream::tellg()返回-1?

我正在尝试创建一个从原始内存缓冲区直接读取的istream。 我在这里的另一篇帖子中找到了一个不错的方法: class membuf : public basic_streambuf<char> { public: membuf(char* p, siz...

11得票3回答
从流输入到枚举类型

如何从流中输入枚举类型? 我可以这样做unsigned int sex = 0; stream >> sex; student.m_bio.sex = static_cast<Sex>(sex); 否则呢?

15得票3回答
非阻塞的std::getline,如果没有输入就退出

目前我有一个从标准输入读取数据的程序,有时候程序需要在没有输入时继续运行,通常这是一个测试脚本,没有所谓的“回车”。 program -v1 -v2 -v3 <input >output v1 - v3 分别是命令行参数。 基本上,如果不给出“input”,该程序将输出命令行...

17得票6回答
非复制的istringstream

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

10得票2回答
如何使用istream与字符串

我想将一个文件读取到一个字符串中。我正在寻找不同的方法来高效地完成此操作。 使用固定大小的*char缓冲区 我收到了Tony的answer,他创建了一个16 kb的缓冲区,并读取该缓冲区并附加缓冲区,直到没有更多可读取的内容。我理解它的工作原理,而且发现它非常快。但是我不明白的是,在那个答...

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

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

8得票3回答
FILE *和istream:如何连接它们?

假设我使用“popen”打开一个可执行文件,会得到一个FILE*。此外,假设我想将此文件连接到一个istream对象以便更轻松地处理,是否有一种方法可以实现这个目标?