File.open( 'output.out', 'wb+' ) {|fd|
bin_data = [0].pack('c')
fd.putc bin_data
fd.putc "\000"
fd.putc 0x0
fd.putc 0
fd.putc 1
}
have this result
0d0a0d0a0d0a0d0a01
for every 0 write a 0d0a pair... but for 1 write ok.... :(
I write in diferent styles (octal,decimal,hex,pack) but the same
result, I try with syswrite, write, print, printf and the same
problem.... all the numbers write ok, except 0 that write 0d0a .....
there are some flag that I'm missing ? or some magic to do ?
ruby --version
ruby 1.8.2 (2004-12-25) [i386-mswin32]
TIA
:: nelson ::
It's OK on Windows 98se + ruby 1.8.3 (2005-05-12) [i586-bccwin32]
00000000h: 00 00 00 00 01 ; .....
File.open('output.out', 'rb') {|fd| puts fd.read.dump}
#-> "\000\000\000\000\001"
Your script is OK.
Make sure you are using a reliable viewer to confirm the result.
If there's still a problem, please let us hear.
daz
It is also fine on Windows XPsp2 with ruby 1.8.2 (2004-12-25) [i386-mswin32].
Ryan
sorry for the noise....
:: nelson ::