第三章 文件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) 引用.当打开一个现有文件或创建一个新文件时,内核向进程返回 ...
随机推荐
- 循序渐进Python3(十一) --4-- web之jQuery
jQuery jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的 ...
- Brophp框架开发时连接数据库读取UTF8乱码的解决(转)
Brophp框架开发时连接数据库读取UTF8乱码的解决办法 (2012-09-15 10:41:22) 转载▼ 标签: 杂谈 it php 分类: 建站技术 Brophp框架开发时连接数据库读取UTF ...
- crc循环冗余校验
循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误.它 ...
- ViewPager的简单使用
1.布局文件 a.主布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...
- UIWebView显示乱码问题
今天有人问Swift中UIWebView加载页面出来的是乱码,问知道怎么解决么? OC我知道肯定不会有乱码问题,Swift就不知道了,因为没有试过.....于是...我自己动手试试啦... OC和Sw ...
- 嵌入式linux学习笔记1—内存管理MMU之虚拟地址到物理地址的转化
一.内存管理基本知识 1.S3C2440最多会用到两级页表:以段的方式进行转换时只用到一级页表,以页的方式进行转换时用到两级页表.页的大小有三种:大页(64KB),小页(4KB),极小页(1KB).条 ...
- sql server 分页存储过程
----------------------分页存储过程------------------------------------------------------------------------ ...
- 关于for循环删除数组内容出现的问题
昨天用for循环进行数组去重的时候出现的问题, 首先,用双重for循环把前一个和所有后面的元素进行比较,如果相等则删除. 但是,如果数组里面有三个以上连续相等的元素的时候,就会出现问题. var ar ...
- discuz!安装遇到问题的解决方案
正常的安装步骤好多地方都有写过了,我安装的时候遇到问题百度翻了个遍也没有找到,现在问题已经解决了,发出了分享一下! 进入第三步创建数据库的时候提示:由于目标计算机积极拒绝,无法连接. 打开phpmya ...
- mysql load file
1.MySql加载本地文件至数据库 -- 加载本地数据文件 Load Data InFile 'localfile' Into Table datatablename Fields Terminate ...