On Oct 28, 2008, at 17:32 , Greg Snow wrote:

Thanks, I had assumed that writeChar("",con) would write 0 bytes to the file and had seen the other construct somewhere else. A quick test of writeChar("",con) does have the ^@ (when viewed in emacs) in the correct place, and there were no warnings, so I will change to that.


Note that writeChar writes the string *and* EOS. writeChar("", con) writes nothing for the string so what you get is just the EOS which is one 0x00 byte. That gives you your \000. You previous construct was simply a noop because your output string was always irrelevant (just try nchar(rawToChar(as.raw(0))).

Cheers,
S


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
801.408.8111


-----Original Message-----
From: Simon Urbanek [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 28, 2008 3:20 PM
To: Greg Snow
Cc: R-devel@r-project.org
Subject: Re: [Rd] writting null (\000 or ^@) to an external text file
without the new warning


On Oct 28, 2008, at 14:23 , Greg Snow wrote:

I have some functions that write an external text file for
postprocessing by another program.  Some instructions to the other
program need to be indicated by null values (\000 or ^@).  The
function currently uses code like:

writeChar(rawToChar(as.raw(0)), con)

where con is a connection to the file.  Previous to version 2.8.0
this worked fine.  With 2.8.0 it still works, but I get a warning
message about "truncating string with embedded null: '\0'" every
time.  This is documented and not a bug, but I still find it
annoying.


Well, why don't you just use
writeChar("", con)
that's what you're actually calling anyway since rawToChar(as.raw(0))
is exactly "" as it gets truncated.

Cheers,
S



One thing I could do is to turn off all warnings before doing this,
but then if there is some other warning generated, then I will miss
the other warning(s).

Is there a better way to write the null to the text file? Or is
there a way to suppress just this warning without suppressing any
other warnings that may occur?

Thanks,

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
801.408.8111

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel





______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to