Mercurial > pub > dyncall > bindings
diff R/rdyncall/demo/stdio.R @ 0:0cfcc391201f
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:26:28 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/R/rdyncall/demo/stdio.R Thu Mar 19 22:26:28 2015 +0100 @@ -0,0 +1,31 @@ +# 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) +