文档详情

《linux的IO编程pub》.pdf

发布:2015-10-18约8.53万字共页下载文档
文本预览下载声明
追风~忆梦 QQ :1028150787 目录 日志篇3 第一天 4 第二天 15 第三天 26 专题篇 33 LINUX简单常用函数 34 标准I/O相关函数 38 LINUX 标准IO缓冲机制探究 59 文件I/O相关函数 65 LINUX 命令行参数处理函数探究 83 MYLS的实现 97 LINUX 静态库和共享库 107 LINUX静态库和动态库(网转1) 116 LINUX中创建静态库和动态库(网转2) 122 结语 127 2013 年 9 月 16 日 于荆楚理工学院 2 追风~忆梦 QQ :1028150787 日志篇 主要是一些学习笔记的整理和综合,涉及的面比较全,但是 不是太详细。具体的详细解释,请参看后面的专题篇。 2013 年 9 月 16 日 于荆楚理工学院 3 追风~忆梦 QQ :1028150787 第一天 一、库 库的本质 :一组实现好的函数接口 标准库好处:屏蔽底层细节,向外界提供统一的接口 二、ASCII 码文件和二进制文件 在 windows 下 对回车键的处理: ASCII 文件输入\n,它将其转成 \r\n,输出的时候将\r\n 转成\n 二进制文件不做转化 在 Linux 下 不区分 ASII 码和二进制文件,全部当做普通文件处理 三、缓存的类型 A. 全缓存 刷新缓存的条件: 缓存满、进程正常结束或者调用 fflush() B. 行缓存 特点:遇到\n会刷新缓存 刷新缓存:缓存满,进程正常结束,调用 fflush(),遇到\n字符 C. 不缓存 特点:没有缓存。典型实例,标准出错 Linux 缓存设计规则: 大部分流对应的缓存类型都是全缓存,但是如果和一个终端设备关联的时 候,是行缓存。 注意:标准的 I/O 是带缓存的,文件 IO 是不带缓存的 四、流 流:一块内存的首地址,这块内存记录了缓存信息和文件描述符 可以通过标准库函数 fopen 获得一个流 描述流:FILE * 注意:标准 IO 库函数它的操作对象是流 五、printf 函数族 int printf(const char *format, ...); // 向标准输出输出格式串 int fprintf(FILE *stream, const char *format, ...); // 向指定的流输出格式串 int sprintf(char *str, const char *format, ...); // 向指定的地址输出字符串 练习: 1.向标准输出输出hello world printf(hello world\n); fprintf(stdout,hello world\n); 2. 向标准出错输出hello world fprintf(stderr,hello world); 3. 向数组buf 输出hello world sprintf(buf,hello world); 2013 年 9 月 16 日 于荆楚理工学院 4 追风~忆梦 QQ :1028150787 六、标准 I/O 库函数 (1)打开文件 FILE *fopen(const char *path, const char *mode); 功能:打开一个文件 参数: @path 文件的路径 @mode 打开的方式 r : 只读的方式打开 r+ : 读写方式打开 w : 只写的方式打开,文件不存
显示全部
相似文档