glean 捡拾落穗; glean insight 深入了解 modeled模型化 peripheral外围的 himogeneous匀称的 intents 意图  excerpt摘录 intended预期的 underscore下划线 着重强调 collide 碰撞 retrieve取回 coalesced联合 合并

1读写文件前要向系统表示意图 俗称打开文件 系统会检查你的权限 如果OK 就会像程序返回一个非负整数 该整数成为文件描述符 file desriptors

如何时候输入/输出都通过文件描述符 而不是文件名(类似文件指针或者MSDOS的文件句柄)

2解释程序(shell)运行程序时打开三个文件 对应描述符为0 1 2 依次表示 stdin stdout stderr 程序从0读 从1 2写就不用担心打开文件的问题

prog <infile  >outfile 重新定向输入输出

int n_read = read(int fd,char *buf,int n);  //第一个为文件描述符 第二参数是数据的来源或者去向 第三参数是多少字节 bytes的数据要被传输

~ _written = write ~

每个函数都返回传输的字符数 读来说 返回0则是文件尾 -1 则是错误  写来说 如果有错误 那么实际写入数就会和请求的的数字不相等

3 open类似于fopen 但是返回的是一个文件描述符

int open (char *name,int flags,int perms);  //name还是文件名 ,flags有以下几种,perms在这里说的程序都是0

o_rdonly 只读  o_wronly 只写 o_rdwr 读写

如 fd = open(name,o_rdonly,0);  如果打开一个不存在的文件会报错

4 int create(char *name,int perms); fd = creat(name,perms); 如果不能创建文件返回-1 否则返回文件描述符 如果文件已经存在 create会让他清空不会报错

其中perms控制了读写或者接入信息给所有者或者所有群或者其他人

比如0775 表示对所有者读写执行许可 对其他人和团体的读和执行许可

5vprintf对应printf 变长参数变为一个参数

vfprintf 和vsprintf对应fprintf和sprintf

close(int fd) 类似fclose 他是关闭描述符和文件链接(文件数有限制的一般为20)以供其他文件使用 但是不刷新缓存区

如果使用exit返回 所有的文件会被关闭

unlink(char *name)将文件name从文件系统中移除 类似remove

6long lseek(int fd,long offset,int orgin);将文件描述符fd的文件当前位置设置为offset offset是相对于origin的位置而言的

origin可以为0 1 2 分别代表 文件开始 当前位置 文件末尾开始算起

如在文件尾添加内容(unixshell 用重新定向》或者在fopen中用参数a)

lseek(fd,0L,2);

如要在开始处(反绕)

lseek(fd,0L,0); 0L可以写成 (long)0或者0 但是调用的时候会保持一致

之后大题介绍了下几个库里常用函数的 代码 有兴趣的话可以自己多看看

the c programing language 学习过程8的更多相关文章

  1. the c programing language 学习过程7

    interact 互动 carriage运费运输 linefeed 换行 redirection改方向 interleaved交叉存取 adequate足够的 untouched原样的  specif ...

  2. the c programing language 学习过程6

    payroll工资名单 hierarchy分层层次 vexing 使人烦恼的 alignment结盟 semantics 语义 aethetic审美 parameterize 参数化 1结构标记 成员 ...

  3. the c programing language 学习过程5

    lumped 集成总结 mandating托管 consecutively连续地 contiguous临近的 mnemonic记忆力的 mimics 酷似 魔方 bind捆绑 synonym同义词 s ...

  4. the c programing language 学习过程4

    4Functions and Program Structure scratch 刮擦 starting over from scratch从头开始 reside驻留 separately 分别的 f ...

  5. the c programing language 学习过程3

    ControlFlow  控制流 specify 指定 compound statement 复合语句 cryptic有隐含意义的 ambiguity歧义 robust稳健 disintegratio ...

  6. the c programing language 学习过程2

    manipulated 操纵  notations符号 hexadecimal十六进制 precision精度 be concatenated at 把····联系起来 enumerations枚举  ...

  7. 使用一个数组存储一个英文句子"java is an object oriented programing language"

    class fun { public static void main(String[] args) { String str="java is an object oriented pro ...

  8. The python programing language

    Python is an example of high-level language. As you might infer from the name “high-level language”, ...

  9. Linux下C高手成长过程

    建议学习路径:  首先先学学编辑器,vim, emacs什么的都行. 然后学make file文件,只要知道一点就行,这样就可以准备编程序了.  然后看看<C程序设计语言>K&R, ...

随机推荐

  1. 浅谈Android进阶之路

    过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期.成长期.成熟期.现在来说已经进入饱和期.依然记得在 2010-2013 年期间,从事移动开 ...

  2. webpack从0开始---(二)

    直接使用webpack进行打包 安装css loader,style loader(用来处理打包css文件) 命令行输入npm install css-loader style-loader --sa ...

  3. js设置滚动条位置

    JS控制滚动条的位置: window.scrollTo(x,y); 竖向滚动条置顶(window.scrollTo(0,0); 竖向滚动条置底 window.scrollTo(0,document.b ...

  4. 图片文档倾斜矫正算法 附完整c代码

    2年前在学习图像算法的时候看到一个文档倾斜矫正的算法. 也就是说能将一些文档图像进行旋转矫正, 当然这个算法一般用于一些文档扫描软件做后处理 或者用于ocr 文字识别做前处理. 相关的关键词: 抗倾斜 ...

  5. MySQL中, 如何查询某一天, 某一月, 某一年的数据.

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天(包括昨天和今天的数据) SELECT * FROM 表名 WHERE TO_ ...

  6. [DeeplearningAI笔记]改善深层神经网络_深度学习的实用层面1.9_归一化normalization

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9 归一化Normaliation 训练神经网络,其中一个加速训练的方法就是归一化输入(normalize inputs). 假设我们有一个 ...

  7. python3,进程间的通信

    本文来源于python 3.5版本的官方文档 multiprocessing模块为进程间通信提供了两种方法: 1.进程队列queue The Queue class is a near clone o ...

  8. Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...

  9. 微信小程序页面跳转的问题(app.json中设置tarBar后wx.redirectTo和wx.navigateTo均不能实现跳转到指定的页面)

    1.设置的tabBar代码片段: "tabBar": { "list": [ { "pagePath": "pages/homep ...

  10. 二维码开源库ZBar-windows下编译和使用

    源码 下载最新Zbar源码(http://zbar.sourceforge.net/),网站的WIKI是空白的,所以只能在源码包里找使用说明了,很遗憾Windows下怎么编译没说明,只是说明了Wind ...