Linux IO系统编程
文章平均质量分 65
vancounver
这个作者很懒,什么都没留下…
展开
-
8 标准IO之fflush,无缓冲,fseek,rewind
1. fflush函数:刷新缓存函数:fflush(FILE*fp) // 把库函数中的缓存的内容强制写到内核中。2. stderr是无缓冲的函数stdout是行缓存的这些函数的缓存功能都根据简单代码进行测试。3. 调整位置指针fseek() 参数与lseek是一样的,但是返回值不一样lseek的返回值是:当前文件的位置指针值;fseek()原创 2017-02-27 19:24:15 · 615 阅读 · 0 评论 -
6 标准IO fopen/fclose
1. 标准IO与文件IO的对应函数文件IO: 标准IOopen fopenclose fclosel原创 2017-02-26 20:24:57 · 475 阅读 · 0 评论 -
5 标准IO的缓存
1. 文件IO与标准IO的关系文件IO:是直接调用内核提供的系统调用函数, 头文件是unistd.h标准IO:是间接调用系统调用函数,头文件是: stdio.h之前学过:输入输出相关的函数,都是和标准的输入(键盘),标准的输出(显示器)getchar(),putchar() ----一个字符gets(buf),puts(buf) ----一串字符scanf(原创 2017-02-26 19:35:13 · 483 阅读 · 0 评论 -
3-4 read/write,lseek函数,cp指令的代码实现
1. write write(intfd, void *buf, size_t count ):第一个参数:向哪一个文件中去写;第二个参数:向这个文件中写什么内容;第三个参数:向这个文件中写多少个。返回值:是实际写的字节数。2. readread(intfd, void *buf, size_t count)第一个参数:从哪一个文件中去读;第二个参数:读到什原创 2017-02-26 13:49:18 · 1047 阅读 · 0 评论 -
2 Open/Close函数及touch命令的实现
1. input & output:站在应用层考虑Input:内核-->用户,从内核读取数据或从文件读取数据 ————read函数Output:用户-->内核,写数据到内核或写数据到文件中 ————write函数2. 内核中文件太多了,写到哪个文件,从哪个文件中读呢?这些功能由内核管理,又称文件管理。因此read/write时需要有参数指定某个文件,而且在read/writ原创 2017-02-25 19:35:32 · 1577 阅读 · 0 评论 -
1 系统编程综述
马小陆老师的Linux高级编程之IO编程,自做笔记。1. Linux高级编程,也称为系统编程,是在应用层编程,更具体的说是内核向应用程序提供的接口层。学习高级编程,可以感知内核功能的强大之处。高级编程分成:文件管理、进程管理、设备管理、内存管理、网络管理。2. 从图中可以看出printf函数也是通过调用IO函数write将数据写入内核。printf函数是库函数,原创 2017-02-25 19:12:40 · 728 阅读 · 0 评论 -
20 课程总结,单机模式下的文件上传与下载
1. 例子:单机模式下的文件上传送和下载(1) 输入服务器的地址: 路径和目录名(2) 列出服务器中有哪些文件: opendir readdir (3) 输入从服务器下载的文件名 或 上传文件到服务器的文件名(4) 文件下载 或 文件上传送文件IO: open read write close标准I原创 2017-02-28 20:54:10 · 484 阅读 · 0 评论 -
18-19 目录IO
1. 文件IO和标准IO是对文件的读写操作目录IO是对目录的读写操作目录I/O与文件I/O函数的比较目录I/O文件I/Oopendir 只能打开目录mkdir 创建目录openreaddir 读目录readrewinddir 调整位置指针telldir原创 2017-02-28 20:14:13 · 477 阅读 · 0 评论 -
13-15 标准IO之fread、fwrite
1..全缓存的二个函数: fread /fwrite第一个参数 buf:写的内容第四个参数 fp:写到哪里去第二个参数 size:写的内容中,每一个单元所占的字节数第三个参数 nmemb:写的内容中,有多少个单元数总共写多少个字节,size*nmemb返回值:实际写的单元数。2. 读写函数效率比较使用time ./fgetc a.c b.c(a.原创 2017-02-28 19:24:33 · 428 阅读 · 0 评论 -
11-12 标准IO之feof,ferror,clearerr
1. 当返回错误时,怎样判读是已经到达文件结尾,还是读错呢? a. int feof(FILE *stream); 功能:判断是否已经到文件结束参数:文件流返回值:到文件结束,返回为非0,没有则返回0b.int ferror(FILE *stream);功能:判断是否读写错误参数:文件流返回值:是读写错误,返回为非0,不是则返回0c.void c原创 2017-02-27 20:55:08 · 570 阅读 · 0 评论 -
9-10 标准IO之gets,puts,fprintf,sprintf,fgetc,fputc
1. gets & puts//是行缓存的读写函数char *gets(char*s); int puts(constchar *s); gets 与fgets的区别:Ø gets()不能指定缓存的长度,这样就可能造成缓存越界(如若该行长于缓存长度),写到缓存之后的存储空间中,从而产生不可预料的后果;Ø gets()只能从标准输入中读;Ø gets()与fg原创 2017-02-27 19:39:13 · 611 阅读 · 0 评论 -
7 标准IO之fgets/fputs
1. 标准IO的读写函数,分三类a. 行缓存:遇到新行符(\n)或写满缓存时,即调用系统调用函数 读:fgets, gets, printf, fprintf,sprintf 写:fputs, puts,scanf 一个字符的读写,是否是行缓存? 读:fgetc, getc, getchar 写:fputc, putc,putchar原创 2017-02-26 21:38:59 · 507 阅读 · 0 评论