关于 creat 函数,首先这个单词并不是表示创建的意思,创建的英文单词是“create”, 这是早期的一个小的拼写错误,却一直沿用下来。
在介绍 open 函数的时候,可以看到 open 函数有两种形式,一个是两个参数一个是三个 参数,早期的时候 open 只有三个参数的形式,三个参数的形式会导致 open 函数无法打开一 个未创建的文件,也就是无法建立文件,所以就有了这个 creat 函数。
现在 creat 函数可以完全用 open 替代,考虑到在阅读代码的时候可能会碰到,所以简单 介绍一下。
creat 函数原型如下。
int creat(const char * pathname, mode_t mode);
creat 函数只有两个参数,参数的含义和 open 类似。
大家看到这个函数的时候知道它是创建文件的就成,在写代码的时候完全可以用 open 代 替。
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
main()
{
int fd;
char *test3 = "/bin/test3";
fd = creat(test3, 0777);
if(fd == -1) // 返回-1 ,说明创建失败
{
printf("fail create: %s fd is %d",test3, fd);
}
else
{
printf("successful create:%s fd is %d", test3, fd );
}
}
在开发板的 /bin 路径下,确实找到了test3