Mail Archives: djgpp/1992/11/04/21:23:38
-- x.cc --
# include <iostream.h>
# include <iomanip.h>
void
main (void)
{
cout << "Hex number: " << hex << 102 << endl;
}
-- end --
This outputs:
Hex number: 0x66
The "0x" is inserted gratuitously, and in error - it shouldn't be. The
reasons are obvious once you start playing with widths, justification
and fill in ios. I'm not sure if this is a gnu lib problem or is
specific to the djgpp library but I'll report it here in case it is
only dj's. I've used two other c++ compilers which don't exhibit this
behaviour (sorry, I don't yet have the AT&T iostreams reference to
state definitely what is or is not the "correct" behaviour).
This is with v1.09, but it was the same with 1.08.
I also notice that iomanip.h defines "IOMANIPdeclare(T)" as an empty
macro. Is this because gcc doesn't yet support templates well enough
for it to work? (I recently noticed that libg++ supplied a basically
blank file, I guess for the same reason) I'm currently using a macro
version, slightly hacked from MicroSoft C/C++'s include directory
which seems to work fine.
david
Smoke me a kipper, Skipper - I'll be back for breakfast! - "Ace" Rimmer
david AT csource DOT oz DOT au 3:632/348 AT fidonet 58:4100/1 AT intlnet 199:4242/5 AT rainbownet
Unique Computing P/L / Communications+LAN Specialists / Public Access USENET
PO Box 352, Doveton, VIC, Aust 3144. Data/BBS: +61-3-792-3507 / +61-3-794-7949
- Raw text -