#include <fcntl.h>
int creat(const char* path, mode_t mode);
path:文件路径。可以是绝对路径,也可以是相对路径。
mode:创建模式,指定用户操作权限(针对三种用户设置:所处用户,所处用户组,其他用户。权限:读,写,执行)
(0表示没有任何权限
S_IRUSR可读,1
S_IWUSR可写,2
S_IXUSR可执行,4
S_IRWXR可读、写、执行)7(也可以用数字代替,如0777)
返回值:文件描述符,值为一个整数,发生错误时返回-1。
例子:
int fd = creat("./test.txt", 0777);
#include <fcntl.h>
int close(int fd);
当关闭一个文件会释放该进程加在该文件上的所有记录锁。当进程终止时会关闭本进程打开的所有文件。
每一个已打开的文件都有一个读写位置, 当打开文件时通常其读写位置是指向文件开头, 若是以附加的方式打开文件(如O_APPEND), 则读写位置会指向文件尾. 当read()或write()时, 读写位置会随之增加.
off_t lseek(int fd, off_t offset, int whence);
函数说明:
函数用来控制该文件的读写位置. 参数fd为已打开的文件描述词, 参数offset 的解释与whence有关:
参数 whence 为下列其中一种:
SEEK_SET:将该文件的偏移量设置为距文件开始处offset个字节的位置。
SEEK_CUR:将该文件的偏移量以目前的读写位置往后增加offset 个位移量。(offset可正可负)
SEEK_END:将读写位置指向文件尾后再增加offset 个位移量。(offset可正可负)
返回值:当调用成功时则返回目前的读写位置, 也就是距离文件开头多少个字节. 若有错误则返回-1, errno 会存放错误代码。
说明:
ssize_t read(int fd, void* buf, size_t nbytes);
函数说明:
fd:已经打开的文件句柄。
buf:要读的缓冲区。
nbytes:缓冲区大小。
返回值:实际读取到的字节数,到达文件尾返回0,出错则返回-1。
原文:https://www.cnblogs.com/jzy-lj/p/14762523.html