第三章 文件IO复习
open(const char * path, int flag.../*mode_t*/) | #include <fcntl.h> |
path:绝对路径 flag:O_RDONLY,O_WRONLY,O_RD_WR只能选一个,其他的flag通过"|"(或)添上。 |
作用:打开一个文件,或创建一个文件 |
#include <unistd.h> | fd:文件描述符 | 作用:关闭文件 | |
ssize_t read(int fd, void *buf, size_t nbytes) | #include<unistd.h> | fd:文件描述符;buf:泛型的数组指针; nbytes: sizeof(buf) | read与fread的区别:read无缓冲读;fread有缓冲读,fread通过"\n"或fflush刷新,不过在3G-4G的内核空间存在缓冲区 |
ssize_t write(int fd, const void *buf, size_t nbytes) | #include<unistd.h> | fd与buf同read;nbyte:strlen(buf) | 与read大致一致 |
off_t lseek(int fd, off_t offset, int whence) | #include <unistd.h> | whence:(1)SEEK_SET (2)SEEK_CUR (3)SEEK_END |
SEEK_SET:文件开头 SEEK_CUR:光标所在位置 SEEK_END:文件末尾 成功返回值 = whence + offset |
int fcntl(int fd, int cmd,..../*arg*/) | #include <fcntl.h> | cmd:F_DUPED(复制fd):F_GETFD,F_SETFD(获取fd,set fd):F_GETFL,F_SETFL(获取文件状态, set文件状态) | 作用:改变打开文件的属性 |
2016-03-04 08:54:02
第三章 文件IO复习的更多相关文章
- 三、文件IO——系统调用
3.1 文件描述符 文件IO 系统调用是不带缓存的,文件 I/O 系统调用不是 ANSI C 的组成部分,是 POSIX 的组成部分. 系统调用与C库: C库函数的IO 的底层还是调用系统调用 I/O ...
- 第三章 文件 I/O
3.1 引言 先说明可用的文件 I/O 函数:open.read.write.close,然后说明不同缓冲区长度对read和write函数的影响. 本章所说的函数经常被称为不带缓冲的 I/O (unb ...
- Java IO 学习(五)跟踪三个文件IO方法的调用链
假设我们想要用Java读取一个二进制文件,有好几种方式,本文会选取其中比较典型的三种方式进行详细分析 0. 准备工作 安装openjdk-1.8.0.141(普通的jdk中涉及IO的很多代码是闭源的, ...
- apue学习笔记(第三章 文件I/O)
本章开始讨论UNIX系统,先说明可用的文件I/O函数---打开文件.读写文件等 UNIX系统中的大多数文件I/O只需用到5个函数:open.read.write.lseek以及close open函数 ...
- 第六章 文件&IO流
6.1.File类 描述:该类是文件和目录路径名的抽象表示 构造方法: 方法 描述 public File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File ...
- 三、文件IO——系统调用(续)
3.2.4 read 函数--- 读文件 read(由已打开的文件读取数据) #include<unistd.h> ssize_t read(int fd, void * buf, siz ...
- 2 python第三章文件操作
1.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成立 els ...
- python3.x 基础三:文件IO
打开文件的两种方式 1.直接打开文件并赋值给变量,打开后得到操作句柄,但不会自动关闭 file = open('文件名‘,'打开模式',’编码‘) fd = open('../config/file1 ...
- 《UNIX环境高级编程》(APUE) 笔记第三章 - 文件I/O
3 - 文件I/O Github 地址 1. 文件描述符 对于内核而言,所有打开的文件都通过 文件描述符 (file descriptor) 引用.当打开一个现有文件或创建一个新文件时,内核向进程返回 ...
随机推荐
- IOS系列swift语言之课时八
这节课需要讲的就是可选链,内存管理,引用计数,unowned解决 //: Playground - noun: a place where people can play import UIKit / ...
- centos7安装openoffice
[摘要:间接登录openoffice民网下载硬件包,但跳转的页里却不停挨没有开.末了只能正在末端里干活下了: 1. 挑选得当的版本:http://www.openoffice.org/download ...
- Android菜鸟成长记16 -- JSON的解析
JSON的定义 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- Linux下MySQL数据库常用基本操作 一
1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 show tables; 4.显示数据表的结构 describe 表名; 5.显示表中记录 S ...
- SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法 ...
- xml/map转换器,递归设计思路
xml/map转换器 图片:http://pan.baidu.com/s/1nuKJD13 应用场景,为什么要把xml转map?我直接用jdom,dom4j操作不行吗? 如果你了解模板引擎(像velo ...
- Unity3D中以任意格式获取时间(C# .net也可用)
最近楼主在开发中遇到了一个小问题 需要保存截图,同时把时间作为截图的名字存储 时间的保存格式为 2016-12-08 13:15:00 保存截图的流程就不说了,这篇博客只说一下以任意的格式保存时间. ...
- php js => splice 数组 插入 功能
php array_splice 手册详解 array_splice - 把数组中的一部分去掉并用其它值取代 参数 input 输入的数组. offset 如果 offset 为正,则从 i ...
- 转载:shell脚本之sed使用----替换、变量、转义字符
sed替换的基本语法为:----s后面跟的是分隔符,原字符串可使用.*这种正则表达式进行整行替换 代码如下: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式, ...
- linux 如何显示一个文件的某几行(中间几行)
linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1 ...