1.创建文件
int creat(const char * filename, mode_t mode)
filename:要创建的文件名(包含路径,缺省为当前路径)
mode:创建模式
常见创建模式:
S_IRUSR 可读
S_IWUSR 可写
S_IXUSR 可执行
S_IRWXU 可读、写、执行
除使用宏外,还可以直接用数字来表示1(可执行),2(可写),4(可写)
void create_file(char *filename)
{
if (creat(filename, 0755) < 0)
{
printf("create file %s failure!\n", filename);
exit(EXIT_FAILURE);
}
else
{
printf("create file %s success!\n", filename);
}
}
2.int open(const char *pathname, int flags)
int open(const char *pathname, int flags, mode_t mode)
flag:打开标志
O_RDONLY 只读方式打开
O_WRONLY 只写方式打开
O_RDWR 读写方式打开
O_APPEND 追加方式打开
O_CREAT 创建一个文件
O_NOBLOCK 非阻塞方式打开
如果使用O_CREATE标志,则使用int open(const char *pathname, int flags, mode_t mode)
3.关闭 int close (int fd)
4.读 int read(int fd, const void *buf, size_t length)
5.写 int write(int fd, const void *but, size_t length)
6.定位 int lseek (int fd, offset_t offset, int whence)
whence :
SEEK_SET:相对文件开头
SEEK_CUR:相对文件读写指针的当前位置
SEEK_END:相对文件末尾
offset可取负值,表示向前移动
7.访问判断 int access(const char *pathname, int mode)
mode :可取R_OK,W_OK,X_OK,F_OK(文件存在)的值或者它们的组合
测试成功返回0,否则-1