lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


>>> I can't quite understand what some of the modes do for io.open as explained
>>> in 5.1 manual. Specifically, I'm not sure what "r+", "w+", and "a+" modes
>>> do.
>
> Even the manual (for 5.1 at least) says: This string is exactly what
> is used in the standard C function fopen.
>

Which means:

       r      Open  text  file  for  reading.  The stream is positioned at the
              beginning of the file.

       r+     Open for reading and writing.  The stream is positioned  at  the
              beginning of the file.

       w      Truncate  file  to  zero length or create text file for writing.
              The stream is positioned at the beginning of the file.

       w+     Open for reading and writing.  The file is created  if  it  does
              not  exist, otherwise it is truncated.  The stream is positioned
              at the beginning of the file.

       a      Open for appending (writing at end of file).  The file  is  cre‐
              ated  if it does not exist.  The stream is positioned at the end
              of the file.

       a+     Open for reading and appending (writing at end  of  file).   The
              file is created if it does not exist.  The initial file position
              for reading is at the beginning  of  the  file,  but  output  is
              always appended to the end of the file.