[Rd] raw connections: reading does not alter current position pointer
William Dunlap
wdunlap at tibco.com
Mon May 2 20:13:25 CEST 2011
Am I misunderstanding rawConnections here or are
rawConnections not working right yet? It looks
like I can use seek() to position the read pointer
but readBin does not position the read pointer past
what has just been read.
> myRawTen <- as.raw(101:110)
> str(myRawTen)
raw [1:10] 65 66 67 68 ...
> rawToChar(myRawTen)
[1] "efghijklmn"
> myRawTenCon <- rawConnection(myRawTen)
> readBin(myRawTenCon, what="integer", size=2, n=1)
[1] 26213
> c(26213%%256, 26213%/%256)
[1] 101 102
> # next 2-byte integer should be 104*256 + 103 = 26727
> readBin(myRawTenCon, what="integer", size=2, n=1)
[1] 26213
> # if I seek() explicitly it works
> seek(myRawTenCon, 2)
[1] 6
> readBin(myRawTenCon, what="integer", size=2, n=1)
[1] 26727
> seek(myRawTenCon, 6) # look at last 4 bytes: 107:110
[1] 0
> # multiple reads in one call to readBin do not advance
> # the position pointer:
> readBin(myRawTenCon, what="integer", size=1, n=4)
[1] 107 107 107 107
> sessionInfo()
R version 2.13.0 (2011-04-13)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United
States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United
States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lattice_0.19-23 MASS_7.3-12
loaded via a namespace (and not attached):
[1] compiler_2.13.0 grid_2.13.0 tools_2.13.0
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
More information about the R-devel
mailing list