Warum gibt in_avail () Null aus, obwohl der Stream Zeichen enthält?
#include <iostream>
int main( )
{
using namespace std;
cout << cin.rdbuf()->in_avail() << endl;
cin.putback(1);
cin.putback(1);
cout << cin.rdbuf()->in_avail() << endl;
return 0;
} //compile by g++-4.8.1
Ich denke, dies wird 0 und 2 ausgeben
aber wenn ich den Code ausführe, gibt er 0 und 0 aus, warum?
oder wenn ich cin.putback (1) ändere; zu int a; cin >> a; mit Eingang 12 12;
es gibt immer noch 0 und 0 aus