windows binary mode

K

kascote

Hi, i'm having some trouble with a file in binary mode on winxp.
with this code:

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 ::
 
D

daz

nelson said:
Hi, i'm having some trouble with a file in binary mode on winxp.
with this code:

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

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
 
K

kascote

hi,
I allways use PsPad in Hexview to test the result, and never try other
viewer.... sorry.. you are right... all is ok with ruby.....I try
reading with ruby and with another hexviewer and all is ok.... (will
report the bug to pspad people)

sorry for the noise....

:: nelson ::
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,175
Messages
2,570,944
Members
47,491
Latest member
mohitk

Latest Threads

Top