www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - writef: How to output hex byte?

reply "Nick Sabalausky" <a a.a> writes:
I'm having trouble understanding the docs on this. From what I could tell, 
it seemed like both of these should work:

writef("%.2X", myByte);
writef("%02X", myByte);

But both of them just simply print the format string as-is. 
Aug 28 2010
parent reply "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:i5cnrn$30hv$1 digitalmars.com...
 I'm having trouble understanding the docs on this. From what I could tell, 
 it seemed like both of these should work:

 writef("%.2X", myByte);
 writef("%02X", myByte);

 But both of them just simply print the format string as-is.
I gotta learn not to simplify my test cases without re-testing them... The above examples work fine, but the following don't - what I'm trying to do here is output a percent sign followed by a hex byte (as in URL escape sequences), but these just output "%%02X": ubyte myByte = 0x09; writef("%%%.2X", myByte); writef("%%%02X", myByte); I know I can easily work around that, but I'm wondering if this is a bug or if I've misunderstood how that format syntax is supposed to work.
Aug 28 2010
parent reply torhu <no spam.invalid> writes:
On 29.08.2010 07:06, Nick Sabalausky wrote:
 ubyte myByte = 0x09;
 writef("%%%.2X", myByte);
 writef("%%%02X", myByte);
On codepad.org (DMD 1.026 last time I checked), this prints this: %09%09 So it's probably a bug in the new formatting code. I assume it's supposed to follow the C behavior in this case.
Aug 28 2010
parent "Nick Sabalausky" <a a.a> writes:
"torhu" <no spam.invalid> wrote in message 
news:i5cqgo$37l$1 digitalmars.com...
 On 29.08.2010 07:06, Nick Sabalausky wrote:
 ubyte myByte = 0x09;
 writef("%%%.2X", myByte);
 writef("%%%02X", myByte);
On codepad.org (DMD 1.026 last time I checked), this prints this: %09%09 So it's probably a bug in the new formatting code. I assume it's supposed to follow the C behavior in this case.
http://d.puremagic.com/issues/show_bug.cgi?id=4775
Aug 31 2010