系统编程——文件I/O操作相关API

文件I/O操作相关API

1.打开一个文件open(),既能打开已存在的文件,也能创建打开一个新文件
函数原型:
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags, .../*mode_t mode*/)

参数:
pathname:需要打开的文件
flags:
文件的打开方式:
O_RDONLY:以只读方式打开
O_WRONLY:以只写方式打开
O_RDWR:以读写方式打开
O_CREAT:若文件不存在则创建之
O_EXCL:与O_CREAT结合使用
mode:
当调用open()创建新文件时,mode指定了文件的访问权限。

返回值:
返回文件描述符,失败返回-1。
——————————————————————————————————————————————————————————————————————————————————————————————————————————
2.read()系统调用从文件描述符fd所指代的文件中读取数据
函数原型:
#include <unistd.h>
ssize_t read(int fd, void *buffer, size_t count);

参数:
调用从fd所指代打开的文件中读取多达count字节的数据,并存储到buffer中。
fd:文件描述符。
buffer:指定最多能读取的字节数。
count:提供用来存放输入数据的内存缓冲区地址。

返回值:
如果调用成功返回实际读取的字节数。错误返回-1。
——————————————————————————————————————————————————————————————————————————————————————————————————————————
3.write系统调用将数据写入一个已打开的文件中
函数原型:
#include <unistd>
size_t write(int fd, void *buffer, size_t count);

参数:
调用从buffer中读取多达count字节的数据写入由fd所指代的已打开的文件中。
fd:文件描述符。
buffer:要写入文件中数据的内存地址。
count:欲从buffer写入文件的数据字节。

返回值:
调用成功返回实际写入文件的字节数。失败返回-1。
——————————————————————————————————————————————————————————————————————————————————————————————————————————————
4.close系统调用关闭一个打开的文件描述符,并将其释放回调用进程,供该进程继续使用。当进程终止时,将自动关闭其已打开的所有文件描述符。
函数原型:
#include <unistd>

int close(int fd);

参数:
fd:文件描述符。

返回值:
成功返回0;失败返回-1。
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————
5.fcntl系统调用对一个文件描述符执行一系列控制操作。
函数原型:
#include <fcntl.h>

int fcntl(int fd, int cmd, ...);

参数:

返回值:

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————

猜你喜欢

转载自blog.csdn.net/sinat_39440759/article/details/82715773