I noticed an issue where readChar does not return the correct value after a
call to readline. It appears that readChar is not aware of the buffering,
so it reads from the end of the buffer, rather than the current position in
the file. This is a significant change of behavior from R-3.4.4.

Below is a test case that I used to home in on the problem.

---

p<-"test2.txt"
cat("abcdefg
hijklmn
opqrstu",file=p)

cat("read char after readline (h)\n")
con <- file(p,"r")
invisible(readLines(con,1))
print(readChar(con,1))
close(con)

cat("read char after readline and seek (h)\n")
con <- file(p,"r")
invisible(readLines(con,1))
invisible(seek(con,seek(con)))
print(readChar(con,1))
close(con)

cat("read lines after readline (hijklmn)\n")
con <- file(p,"r")
invisible(readLines(con,1) )
print(readLines(con,1))
close(con)


cat("read line after char (bcdefg):\n")
con <- file(p,"r")
invisible(readChar(con,1) )
print(readLines(con,1))
close(con)

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to