毕业设计要做一个类似于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所指的文件状态,复制到参数buf所指的结构中(struct stat)。
3. struct stat结构体
下面是这个结构的结构
struct stat {
&nbs

本文记录了在研究EZXML(一个XML解析器)源码过程中的知识点,涉及文件系统的流与IO方式、open(), read(), fstat()等文件操作函数,struct stat结构体,size_t类型,utf-16与utf-8编码,以及isalpha()和strcspn()等字符串处理函数。"
122527427,11825341,太原理工Web前端学习测验答案解析,"['前端开发', 'HTML', 'CSS', 'JavaScript', 'Web标准']
最低0.47元/天 解锁文章
11万+

被折叠的 条评论
为什么被折叠?



