Re: cin and binary mode
 
manimau wrote:
Is there any chance of slightest light at the end of the tunnel in pursuing 
the cin and binary mode operation together?
I am trying to see if I can open the cin in binary mode for read operation. 
I am using VC++ with VS .NET 2003
While using VS 6.0, it was a piece of cake, but since there were a lot of 
things just removed in VC++ .NET 2003 version, I am having a hard time 
converting this little piece of code....
previously with VS 6.0 it was,
istream_withassign myFile; 
filebuf *myFileBuf;        
.......
myFileBuf = new filebuf (_fileno(stdin));
myFileBuf->setmode(filebuf::binary);
myFile = myFileBuf;       // stream object is stream buffer        
if (!(myFile.read(data, nBytes)))
{
        if (myFile.eof())
        {
            status = M_EndOfFile;
        }
        else
.....
}  
 
Which worked just fine.
Any ideas or hopes of converting it to VC++ .net 2003?
This should work on 2003 and 2005 (and probably VC6 as well):
#include <iostream>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
//...
_setmode(_fileno(stdin), _O_BINARY);
std::istream is(std::cin.rdbuf());
//or std::istream& is = std::cin;
_setmode is MS's version of the POSIX function setmode, so this solution 
should port to UNIX simply by removing the start _s.
Tom