| % File src/library/base/man/rawConnection.Rd | |
| % Part of the R package, https://www.R-project.org | |
| % Copyright 1995-2008 R Core Team | |
| % Distributed under GPL 2 or later | |
| \name{rawConnection} | |
| \alias{rawConnection} | |
| \alias{rawConnectionValue} | |
| \title{Raw Connections} | |
| \description{ | |
| Input and output raw connections. | |
| } | |
| \usage{ | |
| rawConnection(object, open = "r") | |
| rawConnectionValue(con) | |
| } | |
| \arguments{ | |
| \item{object}{character or raw vector. A description of the connection. | |
| For an input this is an \R raw vector object, and for an output | |
| connection the name for the connection. | |
| } | |
| \item{open}{character. Any of the standard connection open modes.} | |
| \item{con}{An output raw connection.} | |
| } | |
| \details{ | |
| An input raw connection is opened and the raw vector is copied | |
| at the time the connection object is created, and \code{close} | |
| destroys the copy. | |
| An output raw connection is opened and creates an \R raw vector | |
| internally. The raw vector can be retrieved \emph{via} | |
| \code{rawConnectionValue}. | |
| If a connection is open for both input and output the initial raw | |
| vector supplied is copied when the connections is open | |
| } | |
| \value{ | |
| For \code{rawConnection}, a connection object of class | |
| \code{"rawConnection"} which inherits from class \code{"connection"}. | |
| For \code{rawConnectionValue}, a raw vector. | |
| } | |
| \note{ | |
| As output raw connections keep the internal raw vector up to date | |
| call-by-call, they are relatively expensive to use (although | |
| over-allocation is used), and it may be better to use an anonymous | |
| \code{\link{file}()} connection to collect output. | |
| On (rare) platforms where \code{vsnprintf} does not return the needed length | |
| of output there is a 100,000 character limit on the length of line for | |
| output connections: longer lines will be truncated with a warning. | |
| } | |
| \seealso{ | |
| \code{\link{connections}}, \code{\link{showConnections}}. | |
| } | |
| \examples{ | |
| zz <- rawConnection(raw(0), "r+") # start with empty raw vector | |
| writeBin(LETTERS, zz) | |
| seek(zz, 0) | |
| readLines(zz) # raw vector has embedded nuls | |
| seek(zz, 0) | |
| writeBin(letters[1:3], zz) | |
| rawConnectionValue(zz) | |
| close(zz) | |
| } | |
| \keyword{file} | |
| \keyword{connection} |