...
The fopen()
function does not provide a mechanism to explicitly specify file access permissions. In the example below, if the call to fopen()
creates a new file, the access permissions for that file will be implementation defined. Note that on POSIX compliant systems the permissions may be influenced by the value of umask()
. More information on umask()
is available in the POSIX specification.
Code Block | ||
---|---|---|
| ||
... FILE * fptr = fopen(file_name, "w"); if (!fptr){ /* Handle Error */ } ... |
Note that on POSIX compliant systems the permissions may be influenced by the value of umask()
. More information on umask()
is available in the POSIX specification.
Compliant Solution
The fopen_s()
function defined in ISO/IEC TR 24731-2006 provides some control over file access permissions. Specifically, the report states: "If the file is being created, and the first character of the mode string is not 'u', to the extent that the underlying system supports it, the file shall have a file permission that prevents other users on the system from accessing the file."
...