lua-users home
lua-l archive

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


On Wed, Mar 21, 2012 at 00:18, Dirk Laurie <dirk.laurie@gmail.com> wrote:
>>>> 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.
>

I wonder why the 5.2 manual doesn't say it's the same as fopen,
though. Did they change/add some modes, or did they just not want to
have to guarantee fopen's behaviour? Or is it a simple omission?

-- 
Sent from my toaster.