Linux编程基础
文章平均质量分 76
Mr_weng_
这个作者很懒,什么都没留下…
展开
-
Linux编程基础:C标准IO库函数与Unbuffered IO函数
先来看看C标准I/O库函数是如何用系统调用实现的。 fopen(3) 调用open(2)打开指定的文件,返回一个文件描述符(就是一个int 类型的编号),分配一 个FILE 结构体, 通常里面包含了: 文件fd缓冲区指针缓冲区长度当前缓冲区读取长度出错标志 返回这 个FILE 结构体的地址。 fgetc(3) 通过传入的FILE *参数找原创 2014-09-10 14:51:58 · 628 阅读 · 0 评论 -
Linux编程基础:read/write函数以及(非)阻塞I/O的概念
一、read/write 函数 read函数从打开的设备或文件中读取数据。 #include ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0 参数count是请求读取的字节数,读上来的原创 2014-09-10 14:41:06 · 685 阅读 · 0 评论 -
Linux编程基础:文件描述符file descriptor与inode
每个进程在Linux内核中都有一个task_struct结构体来维护进程相关的 信息,称为进程描述符(Process Descriptor),而在操作系统理论中称为进程控制块 (PCB,Process Control Block)。task_struct中有一个指针(struct files_struct *files; )指向files_struct结构体,称为文件 描述符表,其中每个表项包转载 2014-09-10 16:30:04 · 979 阅读 · 0 评论 -
Linux编程基础:C标准库IO缓冲区与内核缓冲区的区别
1.C标准库的I/O缓冲区 UNIX的传统 是Everything is a file,键盘、显示器、串口、磁盘等设备在/dev 目录下都有一个特殊的设备文件与之对应,这些设备文件也可以像普通文件(保存在磁盘上的文件)一样打开、读、写和关闭,使用的函数接口是相同的。用户程序调用C标准I/O库函数读写普通文件或设备,而这些库函数要通过系统调用把读写请求传给内核 ,最终由内核驱动磁原创 2014-09-12 11:30:26 · 978 阅读 · 0 评论