I want to read a file into a string. After I open it up, is there a way to get the length of the file? (or even before I open it up?)
I see that we have read-substring and read-u8vector
Currently, the best solution appears to be ... do a read-u8vector on it, get it's string length, then re-open the file and do a read-substring on it ... surely there's something more elegant. :-)
Thanks!
Afficher les réponses par date
On 28-Jun-09, at 10:46 PM, lowly coder wrote:
I want to read a file into a string. After I open it up, is there a way to get the length of the file? (or even before I open it up?)
I see that we have read-substring and read-u8vector
Currently, the best solution appears to be ... do a read-u8vector on it, get it's string length, then re-open the file and do a read- substring on it ... surely there's something more elegant. :-)
% gsi Gambit v4.4.4
(file-info-size (file-info "test.txt"))
53
(call-with-input-file "test.txt" (lambda (p) (read-line p #f)))
"the read-line procedure is\ndocumented in the manual!\n"
(help read-line)
Marc
I'm an idiot. I forgot about the #f option to read-line ... in fact, I've even used it myself.
On Sun, Jun 28, 2009 at 8:19 PM, Marc Feeley feeley@iro.umontreal.cawrote:
On 28-Jun-09, at 10:46 PM, lowly coder wrote:
I want to read a file into a string. After I open it up, is there a way to
get the length of the file? (or even before I open it up?)
I see that we have read-substring and read-u8vector
Currently, the best solution appears to be ... do a read-u8vector on it, get it's string length, then re-open the file and do a read-substring on it ... surely there's something more elegant. :-)
% gsi Gambit v4.4.4
(file-info-size (file-info "test.txt"))
53
(call-with-input-file "test.txt" (lambda (p) (read-line p #f)))
"the read-line procedure is\ndocumented in the manual!\n"
(help read-line)
Marc