8得票4回答
libc++和libstdc++之间的istream结束符(eof)差异

以下(玩具)程序在链接到libstdc++和libc++时返回不同的结果。这是libc++中的一个错误还是我没有理解如何使用istream的eof()函数?我已经尝试在Linux和Mac OS X上使用g++以及在Mac OS X上使用clang,有和没有使用-std=c++0x参数都尝试过。...

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

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

8得票1回答
输入迭代器跳过空格,有什么方法可以防止跳过?

我正在从文件中读取字符串直到遇到分隔符,即美元符号。但输入迭代器跳过空格,所以创建的字符串没有任何空格。在这种情况下,这不是我想要的。有没有办法停止跳过行为?如果有,该如何实现? 以下是我的测试代码: #include <iostream> #include <fstre...

8得票2回答
使用 istream::read() 读取的字节数如何检查?

请问有没有可能(任何方法)检查下面所示的函数读取的字节数: istream& read (char* s, streamsize n);

8得票1回答
libc++和libstdc++中istream的operator>> (double& val)之间的差异

最近我升级到Mac OS X 10.9,其默认的标准C ++库从libstdc++更改为libc ++。从那以后,我在下面的代码示例中观察到stringstream运算符>>(double)的意外行为。 总的来说,当双精度值后跟一个字母时,libc ++似乎在从字符串流中提取双精...

8得票2回答
C++ While( cin >> x) 这个语句是如何工作的?

我的问题是,如何实现: while(cin>>x) { //code } 工作。更具体地说,有哪些代码会停止循环? 根据这里的文档,看起来 >> 操作符返回一个 &istream。那么,如果读取失败或者到达文件结尾,它不仅会设置 eofbit、...

8得票4回答
将std::istream&&作为参数传递是否合理?

我遇到了一些这样的代码: SomeObject parse (std::istream && input) {.... input参数是一个右值引用,通常意味着函数旨在接收参数的所有权。但这里发生的情况有点不同。 parse函数将完全消耗输入流,并且要求使用右值引用,因...

7得票3回答
ifstream的operator>>如何检测行末?

我有一个不规则列表,其中数据看起来像这样: [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Number] [Num...

7得票2回答
当输入的行结束符混合时,std::getline的替代方案

我正在尝试从std :: istream中读取行,但输入可能包含'\r'和/或'\n',因此std :: getline 无法使用。 抱歉大声喊出来,但这似乎需要强调...... 输入可能包含换行符类型或两者都包含。 有没有标准的方法来解决这个问题?目前我正在尝试。 char c; w...

7得票2回答
如何实现自定义std::streambuf的seekoff()函数?

我基于如此问题和答案所述的方法实现了以下内容: struct membuf : std::streambuf { membuf(char* begin, char* end) { this->setg(begin, begin, end); } protected...