Is difference lies in the fact that fopen part of c library and
platform in-depended, whereas open is a system call? what about
functionalities?
With respect to the C standard, fopen() is defined by the standard, takes
specific arguments, performs a specific function, and returns specific
results, while open() is *not* defined (or even recognized) by the
standard. fopen() is guaranteed to be part of the standard I/O library in
a hosted environment, while open() is left available as any sort of user
function.
In /some environments/, open() is an environment-specific function that
provides low-level ("system") access to specific I/O functions. However,
there is no guarantee (from the C language pov) of what open() does, what
arguments it takes or what it returns, and it is perfectly legal for an
application program to include a function called open() with it's own code.
--
Lew Pitcher
Master Codewright & JOAT-in-training | Registered Linux User #112576
http://pitcher.digitalfreehold.ca/ | GPG public key available by request
---------- Slackware - Because I know what I'm doing. ------