c语⾔中的creat()函数使⽤及参数详解头⽂件:#include <sys/types.h>  #include <sys/stat.h>  #include <fcntl.h>
include和contain
1. #include <fcntl.h>                          // 提供open()函数
2. #include <sys/types.h>                      // 提供mode_t类型
3. #include <sys/stat.h>                      // 提供open()函数的符号
4. #include <unistd.h>                        // 提供close()函数
定义函数:int creat(const char * pathname, mode_tmode);
函数说明:
1、参数 pathname 指向欲建⽴的⽂件路径字符串。
2、Creat()相当于使⽤下列的调⽤⽅式调⽤open()
open(const char * pathname, (O_CREAT|O_WRONLY|O_TRUNC));
filename:要创建的⽂件名(包括路径,默认当前路径)
mode:创建模式,指定⽤户操作权限(针对三种⽤户设置:所处⽤户,所处⽤户组,其他⽤户
权限:读,写,执⾏)
(0表⽰没有任何权限
S_IRUSR可读,1
S_IWUSR可写,2
S_IXUSR可执⾏,4
S_IRWXR可读、写、执⾏)7(也可以⽤数字代替,如0777)
返回值:⽂件描述符,值为⼀个整数,发⽣错误时返回-1
返回值:
creat()会返回新的⽂件描述词, 若有错误发⽣则会返回-1, 并把错误代码设给errno.
错误提⽰:
EEXIST参数:pathname 所指的⽂件已存在.
EACCESS参数:pathname 所指定的⽂件不符合所要求测试的权限
EROFS:欲打开写⼊权限的⽂件存在于只读⽂件系统内
EFAULT参数:pathname 指针超出可存取的内存空间
EINVAL参数:mode 不正确.
ENAMETOOLONG参数:pathname 太长.
ENOTDIR 参数:pathname 为⼀⽬录
ENOMEM :核⼼内存不⾜
ELOOP 参数:pathname 有过多符号连接问题.
EMFILE:已达到进程可同时打开的⽂件数上限
ENFILE:已达到系统可同时打开的⽂件数上限
ps:1.什么是⽂件描述符?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。