I have the need to send binary data to std::cout. The hack that I've
previously used on Windows is to include this line in my main.cpp file:
#ifdef WIN32
// Allows us to open standard input in binary mode by default
// See http://gnuwin32.sourceforge.net/compile.html for more
int _CRT_fmode = _O_BINARY;
#endif
Sadly, this does not seem to work for std::cout
I tried this:
std::ofstream f;
f.open("CON",std::ios_base:binary)
f << "this is a bare nl: \n see? No CR.\r\n";
But that didn't work. Actually, it was kind of weird --- the stdout couldn't be
redirected --- it went to the console. And it didn't come out in binary.
I understand that I can open an iostream with the ios_base::binary flag.
However it is not clear to me how to open stdout.
The _CRT_fmode trick does seem to work for a write() that I have to file
descriptor 1, however.
const char *buf = "this is a newline: \n and this is both a cr and a
newline: \r\n";
write(1,buf,strlen(buf));
Can someone tell me:
1. Is it possible to write binary to std::cout ?
2. Is there a way to "re-open" std::cout?
Thanks,
Simson
_______________________________________________
mingw mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/mingw