There may be a problem depending on whether your chars are signed or unsigned.
An unsigned char goes from 0x00 to 0xFF (i.e. the full "extended ASCII" range; ASCII stops at 0x7F). A signed char goes from -0x80 to +0x7F, or is it the other way around, I can never remember. I've run into problems reading strings containing strange characters, and had to specify unsigned chars to make things work properly. Signedness of chars is one of the things that break code portability. I think the C standard says it's implementation dependent. David
