Category Archives: C && C++

两道面试题……

传说百度面试题,都是字符串处理的……我目前这水平也就做这种水题了,下午莫名其妙被面试,坐等被虐了。

1、反转字符串单词。
输入I am coder4
输出coder4 am i
#include <iostream>
#include <vector>
#include <sstream>
using std::endl;
using std::cout;
using std::istringstream;
using std::vec[......]

继续阅读

[转载]各种字符串Hash函数比较

由于TT对于长文本做Key的存储不太给力(或者是数据分布的问题?)

总之可能要用Hash算法了,MD5不在考虑之列,因为太长。

准备用某种UINT64的Hash算法,然后转为62进制编码,你懂得……

以下内容为转载:

转载自:
各种字符串Hash函数比较

常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生 影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到[......]

继续阅读

使用C++和zlib解压缩.gz文件并读入内存

一般我们自己用.gz文件的时候会先
gzip xxx.gz
然后就地解压缩生成文件,如果本身就是要原文件还行,但如果再程序需要在内存中再处理,就不OK了。
因为会浪费两次I/O,特别是文件特别大或者特别多的时候。
因此,使用zlib将.gz文件直接解压并读取到内存,就很重要了。
#include <zlib.h>
#include <iostream>
#include <string>

#define GZ_BUF_SIZE 104857[......]

继续阅读

[转载]用C语言进行CGI程序设计

转载自:用C语言进行CGI程序设计
感谢原作者!
写的比较基础,适合像我这样刚接触cgi的小孩……我看我们项目中貌似是用了别的库封装,可以减少不少代码量吧。

一、CGI概述

 

CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的 交互,也就是CGI程序接受Web浏览器发送给 Web服务器的信息,进行处 理,将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成We[......]

继续阅读

Linux解析命令行参数 - getopt

通常 Linux 下的各种命令都有许多的命令行参数可以选择,比如:
gcc -g -lm foo.c -o foo
getopt()就是用来分析命令行参数的函数。
在继续讨论getopt 之前,先要明确两个概念:选项(option) 和 选项参数(argument)。
在上面的例子中,-g 中的 g,-o 中的 o 还有 -lm 中的 l 就是选项,而 -lm 中的 m 就是 l 的选项参数,-o foo 中的 foo 就是 o 的选项参数。因此,我们知道了选项有两种,一种是带选项参数的[......]

继续阅读