C程序设计语言- UNIX系统接口-7.1----文件描述符、低级IO(read、write)、随机访问、(open、creat、close、unlink)
来源:互联网 发布:方正综艺简体 mac 编辑:程序博客网 时间:2024/05/16 01:46
前言:本编是C系列基础语言最后一篇。开心中。。。
1.文件描述符
2.低级IO(read、write)
读函数read
ssize_t read(int fd,void *buf,size_t nbyte)
read函数是负责从fd中读取内容.成功时,read返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了.
小于0表示出现了错误.如果错误为EINTR说明读是由中断引起的, 如果是ECONNREST表示网络连接出了问题.
写函数write
ssize_t write(int fd,const void *buf,size_t nbytes)
write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1. 并设置errno变量. 在网络程序中,当我们向套接字文件描述符写时有俩种可能.
1)write的返回值大于0,表示写了部分或者是全部的数据.
2)返回的值小于0,此时出现了错误.我们要根据错误类型来处理. 如果错误为EINTR表示在写的时候出现了中断错误.
如果为EPIPE表示网络连接出现了问题(对方已经关闭了连接).
1)write的返回值大于0,表示写了部分或者是全部的数据.
2)返回的值小于0,此时出现了错误.我们要根据错误类型来处理. 如果错误为EINTR表示在写的时候出现了中断错误.
如果为EPIPE表示网络连接出现了问题(对方已经关闭了连接).
3.随机访问
4.(open、creat、close、unlink)
open 函数可以打开或创建一个文件。#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);返回值:成功返回新分配的文件描述符,出错返回-1并设置errno在Man Page中open 函数有两种形式,一种带两个参数,一种带三个参数,其实在C代码中open 函数是这样声明的:int open(const char *pathname, int flags, ...);最后的可变参数可以是0个或1个,由flags 参数中的标志位决定,见下面的详细说明。pathname 参数是要打开或创建的文件名,和fopen 一样,pathname 既可以是相对路径也可以是绝对路径。flags 参数有一系列常数值可供选择,可以同时选择多个常数用按位或运算符连接起来,所以这些常数的宏定义都以O_开头,表示or。必选项:以下三个常数中必须指定一个,且仅允许指定一个。O_RDONLY 只读打开O_WRONLY 只写打开O_RDWR 可读可写打开以下可选项可以同时指定0个或多个,和必选项按位或起来作为flags 参数。可选项有很多,这里只介绍一部分,其它选项可参考open(2)的Man Page:O_APPEND 表示追加。如果文件已有内容,这次打开文件所写的数据附加到文件的末尾而不 覆盖原来的内容。O_CREAT 若此文件不存在则创建它。使用此选项时需要提供第三个参数mode ,表示该文件 的访问权限。O_EXCL 如果同时指定了O_CREAT,并且文件已存在,则出错返回。O_TRUNC 如果文件已存在,并且以只写或可读可写方式打开,则将其长度截断 (Truncate)为0字节。O_NONBLOCK 对于设备文件,以O_NONBLOCK 方式打开可以做非阻塞I/O(Nonblock I/O).
C系列最后一篇博客相对来说比较简单,C系列基础到此结束。下篇进入C++系列基础学习了。
1 0
- C程序设计语言- UNIX系统接口-7.1----文件描述符、低级IO(read、write)、随机访问、(open、creat、close、unlink)
- 【UNIX环境高级编程】文件 IO 操作 一 ( open | close | creat | lseek | write | read )
- UNIX--文件I/O函数--open、creat、close、lseek、read、write等各种函数 详解
- Linux 文件 open,creat,write,read (C)
- linux 基本文件操作-----creat open write read close
- Linux 文件描述符(open,read,write,lseek,close)
- Linux 文件IO函数(open/close/read/write/lseek)
- 【Linux&Unix--open/close/write/read系统调用】
- Linux&Unix--open/close/write/read系统调用】
- 【Linux&Unix--open/close/write/read系统调用】
- Linux文件I/O(creat/open/read/write/lseek/close/dup/sync)
- Linux文件IO-open,write,read,lseek,close
- Linux系统调用及用户编程接口(API) open close write read lseek
- linux文件操作函数(open、write、read、close)
- 文件/目录管理(1)---open()/close()/read()/write()
- linux文件操作函数(open、write、read、close)
- Linux-文件操作(open、write、read、close、iotcl)
- linux文件操作函数(open、write、read、close)
- java监听器
- 收集Crash信息
- SQL Execpt over
- EventBus 3.0的使用
- AngularJS轮播图
- C程序设计语言- UNIX系统接口-7.1----文件描述符、低级IO(read、write)、随机访问、(open、creat、close、unlink)
- Unity3D Update函数中new GameObject对象,并绑定点击事件
- dll导出命名空间下的c风格函数陷阱
- 学习WPF——WPF布局——初识布局容器
- logstash 调用脚本告警
- Postman插件下载安装与使用教程
- ZooKeeper典型应用场景一览
- 互联网产品saas化为何困难
- Servlet的配置