view R/rdyncall/demo/stdio.R @ 22:4ee8d6aa7721

- java binding cleanup, exposed free functions (not very oo, this entire binding) - java binding examples
author cslag
date Sat, 09 Apr 2016 18:18:34 -0500
parents 0cfcc391201f
children
line wrap: on
line source

# Package: rdyncall 
# File: demo/stdio.R
# Description: Direct I/O of R raw vectors using C stdio functions

dynport(stdio)

# test: fopen returns NULL pointer on error

nonexisting <- "dummyname"
f <- fopen(nonexisting, "r")
is.nullptr(f)

# test: R raw object read/write

tempfile <- "bla"
f <- fopen(tempfile, "wb")
writebuf <- as.raw(0:255)
copy <- writebuf
copy[[1]] <- as.raw(0xFF)
fwrite(writebuf, 1, length(writebuf), f)
fclose(f)

f <- fopen(tempfile, "rb")
readbuf <- raw(256)
copybuf <- readbuf
fread(readbuf, 1, length(readbuf), f)
copybuf[[1]] <- as.raw(0xFF)
fclose(f)

identical(readbuf,writebuf)