Larbin:text.cc和text.h

LowerCase: 统一转为小写字母;
StartWith:字符串b是否是以字符串a开头。
startWithIgnoreCase:字符串b是否是以字符串a开头,忽略大小写。
robotsMatch:字符串b是否被模式a禁止。robots.txt在服务器端的根目录下,其声明某些file是不能被访问。关于robots.txt的具体格式,参见我转载的文章。以后分析file.cc会用到。
endWith:测试b是否以a结尾;
endWithIgnoreCase:测试b是否以a结尾,忽略大小写。
caseContain:b中是否包含a
newString:copy一个string;

readfile:读整个文件到一片内存中。主要的问题是不知道文件有多大,这里采用动态扩展的方法使用内存。
          首先将文件中的内容读到一个buf中,然后在内存中拷贝到第二个res中。第二片内存是实际记录的,其size动态扩展,最后一位被置0。

/* Read a whole file
 */
char *readfile (int fds) {
  ssize_t pos = 0;
  ssize_t size = 512;
  int cont = 1;
  char buf[500];
  ssize_t nbRead;
  char *res = new char[size];
  while(cont == 1) {
	switch (nbRead = read(fds, &buf, 500)) {
	case 0 : cont = 0; break;
	case -1 : if (errno != EINTR && errno != EIO) cont = -1; break;
	default :
	  if (pos + nbRead >= size) {
		size *= 2;
		char *tmp = new char[size];
		memcpy(tmp, res, pos);
		delete res;
		res = tmp;
	  }
	  memcpy(res+pos, buf, nbRead);
	  pos += nbRead;
	  break;
	}
  }
  res[pos] = 0;
  return res;
}

nextToken:找到下一个分隔符,与robtost.txt有关。
matchXXXXX:不太明白,privilegedExts[i]在哪定义的,干什么的?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值