Message27081
Logged In: YES
user_id=31435
This is more involved than you might like. In general,
open(path, mode) passes the mode string to the platform C
library's file-opening function, and using anything other
than standard C mode letters ("w", "b", "r", "a", "+") is
platform-dependent. "t" is not a standard C mode letter, so
whether it has any meaning, and exactly what it means if it
_does_ mean something, depends entirely on the platform C
library.
Using "t" to force text mode is a Microsoft-specific
gimmick, so if "t" is documented at all, it should be
plastered with warnings about its platform-specific nature.
Even on a Microsoft platform, "t" is basically silly: text
mode is the default mode (C defines this) -- it's what you
get if you don't pass "b". The only reason Microsoft
supports "t" is because MS has _another_ non-standard option
to tell its C runtime to use binary mode by default, and if
you use that non-standard option then you also need to use
the non-standard "t" mode letter to force a file to open in
text mode.
In short, the docs should change to spell out what the
standard C modes are, and note that at the cost of
portability you can also pass whichever non-standard mode
extensions your platform happens to support. |
|
Date |
User |
Action |
Args |
2007-08-23 14:36:48 | admin | link | issue1381717 messages |
2007-08-23 14:36:48 | admin | create | |
|