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复习的更多相关文章

  1. 三、文件IO——系统调用

    3.1 文件描述符 文件IO 系统调用是不带缓存的,文件 I/O 系统调用不是 ANSI C 的组成部分,是 POSIX 的组成部分. 系统调用与C库: C库函数的IO 的底层还是调用系统调用 I/O ...

  2. 第三章 文件 I/O

    3.1 引言 先说明可用的文件 I/O 函数:open.read.write.close,然后说明不同缓冲区长度对read和write函数的影响. 本章所说的函数经常被称为不带缓冲的 I/O (unb ...

  3. Java IO 学习(五)跟踪三个文件IO方法的调用链

    假设我们想要用Java读取一个二进制文件,有好几种方式,本文会选取其中比较典型的三种方式进行详细分析 0. 准备工作 安装openjdk-1.8.0.141(普通的jdk中涉及IO的很多代码是闭源的, ...

  4. apue学习笔记(第三章 文件I/O)

    本章开始讨论UNIX系统,先说明可用的文件I/O函数---打开文件.读写文件等 UNIX系统中的大多数文件I/O只需用到5个函数:open.read.write.lseek以及close open函数 ...

  5. 第六章 文件&IO流

    6.1.File类 描述:该类是文件和目录路径名的抽象表示 构造方法: 方法 描述 public File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File ...

  6. 三、文件IO——系统调用(续)

    3.2.4 read 函数--- 读文件 read(由已打开的文件读取数据) #include<unistd.h> ssize_t read(int fd, void * buf, siz ...

  7. 2 python第三章文件操作

    1.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成立 els ...

  8. python3.x 基础三:文件IO

    打开文件的两种方式 1.直接打开文件并赋值给变量,打开后得到操作句柄,但不会自动关闭 file = open('文件名‘,'打开模式',’编码‘) fd = open('../config/file1 ...

  9. 《UNIX环境高级编程》(APUE) 笔记第三章 - 文件I/O

    3 - 文件I/O Github 地址 1. 文件描述符 对于内核而言,所有打开的文件都通过 文件描述符 (file descriptor) 引用.当打开一个现有文件或创建一个新文件时,内核向进程返回 ...

随机推荐

  1. asp.net LINQ连接数据库SQL执行数据的增加、修改、删除、查询操作

    查询数据库中的数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  2. R常见的几种常见统计图

    1,向日葵散点图 2,热图  (颜色越深,数值越大) 3,折线图(散点图),绘制散点图集用 paris(data.frame)

  3. json_decode返回null 和synax error原因及处理

    $checkLogin ='[{"gdsincode":"1103293","gdsname":"鲜美来带鱼段800g" ...

  4. selenium--环境搭建步骤

    1.安装Python 2.安装setuptools 3.安装pip(Python3.X自带pip) 4.安装selenium(步骤在另一个博客中已提及)

  5. I/O流——字节流

    流的概念 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以使文件,内存,或是网络连接.类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流.这时候你就 ...

  6. java keytool证书工具使用小结

    java keytool证书工具使用小结 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt    PEM-encod ...

  7. LeetCode OJ 106. Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  8. sqlite的简介

    第一步: 第二步,建立桥接文件 随便创建一个类,语言选择oc,然后它会问你是否创建桥接模式,然后你选择是就可以了 那个类可以删除了 在那份桥接文件中加入一句话#import <sqlite3.h ...

  9. grunt 基本使用使用(一)。

    使用grunt 之前,需要做一些基本工作. 1.在E盘 新建空文件夹 grunt. 2.在grunt目录下新建package.json 文件,用了存储 npm模块的依赖项.基本依赖块代码如下: { & ...

  10. Visio 2007中进行数据库建模时如何显示字段类型以及概念名称

    关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的 1 如何显示字段类型:   在visio菜单上--->点击数据库--->选项--->文档    打开后选择表这项,在上 ...