一、tokenizer,通常用于解析传入的参数
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
boost::char_separator<char> sep(",");
tokenizer tok(test_uins, sep);
for(tokenizer::iterator tok_iter = tok.begin(); tok_iter != tok.end(); ++tok_iter)
{
int64_t uin = boost::lexical_cast<int64_t>(*tok_iter);
v_test_uins.push_back(uin);
}
二、 字符串转换成10进制或者16进制的数字
strtoul(string.c_str(), NULL, 16)
或者使用boost::lexical_cast
三、 数字转化为字符串
snprintf(buf, sizeof(buf), "%d", int)
或者 atoi
四、 创建一个目录,如果已经存在则不报错
if(mkdir(str_dir, 0755)) {
if(errno != EEXIST) {
LOG_ERROR("failed to make dir %s", str_dir);
return -1;
}
}
五、ip地址转化函数
inet_addr("1.1.1.1")返回网络序, inet_network("1.1.1.1")返回主机序,inet_aton("1.1.1.1")可以处理255.255.255.255这种ip地址并返回网络序ip地址
inet_ntoa(struct in_addr xxx)