CFILE {RCurl} | R Documentation

## Create a C-level handle for a file

### Description

This function and class allow us to work with C-level `FILE` handles. The intent is to be able to pass these to `libcurl` as options so that it can read or write from or to the file. We can also do this with R connections and specify callback functions that manipulate these connections. But using the C-level FILE handle is likely to be significantly faster for large files.

### Usage

    CFILE(filename, mode = "r")

### Arguments

`filename` | the name of the file on disk
`mode` | a string specifying how to open the file, read or write, text or binary.

### Details

This is a simple interface to the C routine `fopen`.

### Value

An object of class `CFILE` which is has a single slot name `ref` which is an external pointer holding the address of the FILE object in C.

### Author(s)

Duncan Temple Lang

### References

Man page for `fopen`

### See Also

`curlPerform` and the `readdata`

### Examples

    ## Not run:
    filename = system.file("tests", "amazon3.R", package = "RCurl")
    f = CFILE(filename)
    curlPerform(url = "http://s3.amazonaws.com/RRupload/duncan2",
                  upload = TRUE,
                  readdata = f@ref,
                  infilesize = file.info("tests/amazon3.R")[1, "size"])
    ## End(Not run)

[Package RCurl version 0.98-1 Index]