Skip navigation.
 
mlRe: reading in text files
FROM : Lance Bland
DATE : Fri Feb 01 22:49:30 2002

On Friday, February 1, 2002, at 04:07 PM, Erik M. Buck wrote:

> I must have missed part of this thread, but Mac OS-X excels at mapping
> large
> files into virtual memory enabling random access to the file's contents
> using the operating system's pager to move page size chunks in and out
> of
> memory as needed.  The limit to memory mapped files is ~2Gb at this
> time.


Why not just use regular binary stream io. You can read in chunks and
won't have to worry about mapping 2Gb.
I could (nearly) implement it in the time it has taken me to read this
entire thread :-)
The minimal syntax change to make it C++ or Obj-C is just window
dressing.

-lance



FREAD(3)                  System Programmer's Manual                 
FREAD(3)

NAME
      fread, fwrite - binary stream input/output

SYNOPSIS
      #include <stdio.h>

      size_t
      fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

      size_t
      fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

DESCRIPTION
      The function fread() reads nmemb objects, each size bytes long,
from the
      stream pointed to by stream, storing them at the location given by
ptr.

      The function fwrite() writes nmemb objects, each size bytes long,
to the
      stream pointed to by stream, obtaining them from the location given
by
      ptr.

RETURN VALUES
      The functions fread() and fwrite() advance the file position
indicator
      for the stream by the number of bytes read or written.  They return
the
      number of objects read or written.  If an error occurs, or the
end-of-
      file is reached, the return value is a short object count (or zero).

      The function fread() does not distinguish between end-of-file and
error,
      and callers must use feof(3) and ferror(3) to determine which
occurred.
      The function fwrite() returns a value less than nmemb only if a
write er-
      ror has occurred.

SEE ALSO
      read(2),  write(2)

STANDARDS
      The functions fread() and fwrite() conform to ANSI C3.159-1989
(``ANSI
      C'').

BSD Experimental                March 8,
1994                              1


_______________________________________________
Lance Bland
System Administrator at VVI
mailto:lance.<email_removed>
http://www.vvi.com
Realtime, bulk and web data reporting and visualization


Related mailsAuthorDate
mlRe: reading in text files Ben Mackin Feb 1, 00:36
mlRe: reading in text files Diggory Laycock Feb 1, 01:15
mlRe: reading in text files Ondra Cada Feb 1, 01:38
mlRe: reading in text files Charles Srstka Feb 1, 02:08
mlRe: reading in text files Ben Mackin Feb 1, 02:52
mlRe: reading in text files Jonathan W. Hendry Feb 1, 03:00
mlRe: reading in text files Ondra Cada Feb 1, 03:47
mlRe: reading in text files jgo Feb 1, 12:45
mlRe: reading in text files Lance Bland Feb 1, 13:11
mlRe: reading in text files Malte Tancred Feb 1, 13:19
mlRe: reading in text files Ondra Cada Feb 1, 18:26
mlRe: reading in text files Bob Savage Feb 1, 19:41
mlRe: reading in text files Marcel Weiher Feb 1, 20:16
mlRe: reading in text files Ondra Cada Feb 1, 20:57
mlRe: reading in text files Bob Savage Feb 1, 21:41
mlRe: reading in text files Erik M. Buck Feb 1, 22:05
mlRe: reading in text files Erik M. Buck Feb 1, 22:07
mlRe: reading in text files Lance Bland Feb 1, 22:49
mlRe: reading in text files Ben Jansen Feb 2, 05:46
mlRe: reading in text files Ondra Cada Feb 2, 16:00
mlRe: reading in text files Bob Savage Feb 2, 23:44
mlRe: reading in text files Ondra Cada Feb 3, 01:15
mlRe: reading in text files Bob Savage Feb 3, 10:58
mlRe: reading in text files Ondra Cada Feb 3, 16:57
mlRe: reading in text files Bob Savage Feb 4, 06:11
mlRe: reading in text files Ben Mackin Feb 4, 07:12
mlRe: reading in text files Brian Luft Feb 4, 13:16
mlRe: reading in text files Ondra Cada Feb 4, 16:11
mlRe: reading in text files Ondra Cada Feb 4, 16:11
mlRe: reading in text files Malte Tancred Feb 4, 17:17
mlRe: reading in text files Bob Savage Feb 4, 17:37