1CREAT(3P)                  POSIX Programmer's Manual                 CREAT(3P)
2
3
4

PROLOG

6       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
7       implementation of this interface may differ (consult the  corresponding
8       Linux  manual page for details of Linux behavior), or the interface may
9       not be implemented on Linux.
10

NAME

12       creat — create a new file or rewrite an existing one
13

SYNOPSIS

15       #include <sys/stat.h>
16       #include <fcntl.h>
17
18       int creat(const char *path, mode_t mode);
19

DESCRIPTION

21       The creat() function shall behave as if it is implemented as follows:
22
23
24           int creat(const char *path, mode_t mode)
25           {
26               return open(path, O_WRONLY|O_CREAT|O_TRUNC, mode);
27           }
28

RETURN VALUE

30       Refer to open().
31

ERRORS

33       Refer to open().
34
35       The following sections are informative.
36

EXAMPLES

38   Creating a File
39       The following example creates the file /tmp/file with  read  and  write
40       permissions  for  the file owner and read permission for group and oth‐
41       ers. The resulting file descriptor is assigned to the fd variable.
42
43
44           #include <fcntl.h>
45           ...
46           int fd;
47           mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
48           char *pathname = "/tmp/file";
49           ...
50           fd = creat(pathname, mode);
51           ...
52

APPLICATION USAGE

54       None.
55

RATIONALE

57       The creat() function is redundant. Its services are  also  provided  by
58       the open() function. It has been included primarily for historical pur‐
59       poses since many existing applications depend on it. It is best consid‐
60       ered a part of the C binding rather than a function that should be pro‐
61       vided in other languages.
62

FUTURE DIRECTIONS

64       None.
65

SEE ALSO

67       mknod(), open()
68
69       The Base Definitions volume of POSIX.1‐2017,  <fcntl.h>,  <sys_stat.h>,
70       <sys_types.h>
71
73       Portions  of  this text are reprinted and reproduced in electronic form
74       from IEEE Std 1003.1-2017, Standard for Information Technology --  Por‐
75       table  Operating System Interface (POSIX), The Open Group Base Specifi‐
76       cations Issue 7, 2018 Edition, Copyright (C) 2018 by the  Institute  of
77       Electrical  and  Electronics Engineers, Inc and The Open Group.  In the
78       event of any discrepancy between this version and the original IEEE and
79       The  Open Group Standard, the original IEEE and The Open Group Standard
80       is the referee document. The original Standard can be  obtained  online
81       at http://www.opengroup.org/unix/online.html .
82
83       Any  typographical  or  formatting  errors that appear in this page are
84       most likely to have been introduced during the conversion of the source
85       files  to  man page format. To report such errors, see https://www.ker
86       nel.org/doc/man-pages/reporting_bugs.html .
87
88
89
90IEEE/The Open Group                  2017                            CREAT(3P)
Impressum