[R] Can scan() detect end-of-file?

Jeff Newmiller jdnewmil at dcn.davis.CA.us
Thu Oct 15 23:57:00 CEST 2015


This is a problem in C as well... and the solution is to read the lines yourself and then give those lines to scan. 
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

On October 15, 2015 1:16:58 PM PDT, William Dunlap <wdunlap at tibco.com> wrote:
>I would like to read a connection line by line with scan but
>don't know how to tell when to quit trying.  Is there any
>way that you can ask the connection object if it is at the end?
>
>E.g.,
>
>t <- 'A "Two line\nentry"\n\n"Three\nline\nentry" D E\n'
>tfile <- tempfile()
>cat(t, file=tfile)
>tcon <- file(tfile, "r") # or tcon <- textConnection(t)
>scan(tcon, what="", nlines=1)
>#Read 2 items
>#[1] "A"               "Two line\nentry"
>> scan(tcon, what="", nlines=1)  # empty line
>#Read 0 items
>#character(0)
>scan(tcon, what="", nlines=1)
>#Read 3 items
>#[1] "Three\nline\nentry" "D"                  "E"
>scan(tcon, what="", nlines=1) # end of file
>#Read 0 items
>#character(0)
>scan(tcon, what="", nlines=1) # end of file
>#Read 0 items
>#character(0)
>
>I am reading virtual line by virtual line because the lines
>may have different numbers of fields.
>
>Bill Dunlap
>TIBCO Software
>wdunlap tibco.com
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list