Linux系统调用及用户编程接口(API) open close write read lseek
来源:互联网 发布:全面战争战锤 linux 编辑:程序博客网 时间:2024/05/21 09:04
系统调用:操作系统提供给用户程序调用的一组“特殊接口,可以通过这组接口获得操作系统内核提供的服务。例如:创建进程、实现进程调度、进程管理,进程间通信,文件系统控制,系统控制,存储管理,网络管理,socket控制,用户管理等。
用户程序接口(API):通过软中断机制向内核提交请求以获取内核服务的接口。API遵循POSIX标准。
文件I/O操作
(1)open和close
open函数用于打开或者创建文件,并可以指定文件的属性及用户的权限参数。
close函数用于关闭一个打开的文件,当一个进程终止时,它打开的所有文件都由内核自动关闭。
open函数语法格式
头文件
#include<sys/types.h>//提供类型pid_t的定义#include<sys/stat.h>#include<fcntl.h>
函数原型int open(const char *pathname, //被打开的文件(包含路径)
const char flags, //文件打开的方式
int perms)//被打开文件的存取权限,8进制表示法成功:返回文件描述符
失败:-1
多个flag可以用 | 进行组合。
close函数语法格式
头文件
#include<unistd.h>函数原型
int close(int fd); //fd 为文件描述符成功:返回0
失败:返回-1
(2)read 、write 、lsweek
read函数用于从指定文件描述符中读出数据。当从终端设备文件中读出数据时,通常一次最多读一行。
write函数用于向打开的文件写数据,写操作从文件的当前位移量处开始,若磁盘已满或超出该文件的长度,则write函数返回失败。
lseek函数用于在指定文件描述符中将文件指针定位到相应的位置。
头文件
#include<unistd.h>函数原型
ssize_t read/write (int fd,//文件描述符
void *buff,//指定存储器读出、写入数据的缓冲区
size_t count)//指定读出、写入的字节数
成功:督导或写入的字节数
已到达文件尾:0(读文件是存在此情况,这是返回的字节数会小于希望读出的字节数)
出错:-1
阅读全文
0 0
- Linux系统调用及用户编程接口(API) open close write read lseek
- Open、Read、Write、Lseek、Close、Create、Delete、chdir系统调用
- Linux 文件系统调用函数open close read write lseek perror
- Linux基础编程-文件操作open,lseek,read,write,close
- Linux基础编程-文件操作open,lseek,read,write,close
- linux文件I/O编程 (open、read、write、lseek、close)
- Linux基础编程-文件操作open,lseek,read,write,close
- open,lseek,read,write,close系统调用《unix环境高级编程读书笔记》(1)
- liunx系统编程中的open(),close(),lseek(),write(),read()及相关例子
- linux open read write lseek close
- Linux 文件IO函数(open/close/read/write/lseek)
- 文件I/O编程 (open、read、write、lseek、close)
- linux下的open()read()write()close()lseek()函数
- Linux 文件描述符(open,read,write,lseek,close)
- linux文件操作open close read write lseek
- Linux 文件操作 open,lseek,read,write,close
- Linux文件IO-open,write,read,lseek,close
- 嵌入式linux文件I/O编程 (open、read、write、lseek、close)
- Maven| 2.Maven Window10安装指南
- Spring学习(四)Spring容器的IOC应用
- [leetcode]: 110. Balanced Binary Tree
- USACO Section 1.2 Palindromic Squares
- LeetCode第22题--合并两个排序好的链表
- Linux系统调用及用户编程接口(API) open close write read lseek
- 配置AOP
- bzoj1336: [Balkan2002]Alien最小圆覆盖&&1337: 最小圆覆盖
- JDBC处理transaction
- cpu 调频
- Android 7.0 android.os.NetworkOnMainThreadException
- [BZOJ1055][HAOI2008]玩具取名 记忆化搜索
- 离散题目12
- JSP动作标签useBean--<jsp:useBean> 创建一个对象