摘要:
11.3 truncate 和 ftruncate 函数 文件截短函数 11.3.1 函数介绍 改变文件大小的函数 相关函数 open 函数说明 在文件尾端处截去一些数据以缩短文件 将一个文件的长度截短为 0 是一个特例,用 O_TRUNC 标志可以做到这一点 如果该文件以前的长度大于 length 阅读全文
摘要:
11.1 access 函数 11.1.1 函数介绍 access(判断是否具有存取文件的权限) 相关函数 stat,open,chmod,chown,setuid,setgid 函数说明 access()会检查是否可以读/写某一已存在的文件。 参数说明 @pathname:文件路径 access( 阅读全文
摘要:
10.1 文件 10.1.1 文件属性 文件属性都存放在 stat 结构体中 10.1.2 文件属性操作函数 获取文件属性: 函数说明 stat()用来将参数file_name所指的文件状态,复制到参数buf所指的结构中。 fstat()用来将参数fildes所指的文件状态,复制到参数buf所指的结 阅读全文
摘要:
例子如下: mystdio.h mystdio.c mystdio_test.c 编译调试: 阅读全文
摘要:
8.1 存储映射介绍 8.1.1 概念 存储映射是一个磁盘文件与存储空间的一个缓存相映射,对缓存数据的读写就相应的完成了文件的读写。 文件操作部分映射到虚拟内存的一块区域,我们对虚拟内存映射的那块区域进行读写操作,读写之后,那块区域自动同步到文件当中。 4G空间分布: 共享内存映射区就是文件映射到的 阅读全文
摘要:
7.1 I/O 处理方式 7.1.1 I/O处理的五种模型 阻塞I/O模型 若所调用的 I/O 函数没有完成相关的功能就会使进程挂起,直到相关数据到达才会返回。如 终端、网络设备的访问。 非阻塞模型 当请求的 I/O 操作不能完成时,则不让进程休眠,而且返回一个错误。如 open read writ 阅读全文
摘要:
6.1 fcntl 函数 6.1.1 函数介绍 函数说明:fcntl()用来操作文件描述词的一些特性。 函数功能:可以改变已经打开文件的性质 参数说明 @fd:代表欲设置的文件描述符 @cmd:代表欲操作的指令。有以下几种情况: F_DUPFD:用来查找大于或等于参数 arg 的最小且仍未使用的文件 阅读全文
摘要:
5.1 dup 函数 复制文件描述符 5.1.1 简单cat实现及输入输出重定向 io.c cat.c 编译:gcc -o bin/cat -Iinclude src/io.c src/cat.c 调试: cat 的作用就输入和输出的重定向功能,而 dup 和 dup2 就是用来完成此功能的。 5. 阅读全文
摘要:
4.1 缓存 buff 说明 一般设置缓存 buff 的大小是由一定的规律的,就是根据磁盘块的大小来定。 Linux下输入命令: df -k 查看磁盘 可以用命令查看下 /dev/sda1 磁盘的磁盘说明 Block size 就是磁盘块的大小,这个磁盘块的大小为 4M ,那么就可以设置缓存 buf 阅读全文
摘要:
3.2.4 read 函数 读文件 read(由已打开的文件读取数据) * 函数说明 read() 会把参数 fd 所指的文件传送 count 个字节到 buf 指针所指的内存中。 若参数 count 为0,则 read() 不会有作用并返回0. 返回值为实际读取到的字节数,如果返回0,表示已到达文 阅读全文