毕业设计要做一个类似于XML解析器的东东,先拿了别人的XML解析器源码学习下,把学习过程中的知识总结了一下。
1. 关于系统
文件系统分为流方式和IO方式,我学习的代码里给出了两种读取文件的方式。IO的比较好理解,流方式的自己之前接触的很少。
2. 文件操作
open()函数:
#include<fcntl.h>
int open(constchar*pathname,intflags);
int open(constchar*pathname,intflags,mode_tmode);
返回值:成功则返回文件描述符,否则返回-1
read()函数:
头文件:#include <unistd.h>
定义函数:ssize_t read(int fd, void * buf, size_t count);
函数说明:read()会把参数fd 所指的文件传送count 个字节到buf 指针所指的内存中. 若参数count 为0, 则read()不会有作用并返回0. 返回值为实际读取到的字节数, 如果返回0, 表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动.
fstat()函数:
#include<sys/stat.h>
#include<unistd.h>
定义函数:int fstat(int fildes,struct stat *buf);
函数说明:fstat()用来将参数fildes所指的文件状态