Search code examples
cfileunix

Using the open() system call


I'm writing a program that writes output to a file. If this file doesn't exist, I want to create it.

Currently, I'm using the following flags when calling open: O_WRONLY | O_CREATE

However, when this creates the file, it doesn't give me any permissions to write to it...

How can I use open so that it creates a file if it doesn't exist, but will create it with necessary permissions when needed?

Thanks!


Solution

  • You probably need the third argument. For example:

    open('path', O_WRONLY|O_CREAT, 0640);