C++ 之Boost学习笔记 Linux下编程
C++学习笔记--Linux下编程
一、关于Boost的使用,几种常用方法,只是自己工作、学习中总结的,有些方法的确有些繁琐,能满足需求,应该还有更加简单快捷的方式,待改进。
1、判断字符串与正则表达式是否匹配(完全匹配)
bool IsMatch(const char* data,const char * regx)
{
boost::regex expression(regx);
string str(data);
if(boost::regex_match(str, expression))
{
return true;
}
return false;
}
2.1、按某一字符串进行分割操作,并存储到vector中。
void split1(const char* data,boost::regex expression,vector<string> &dataVector)
{
string str1(data);//将char *转化为string类型
boost::sregex_token_iterator p(str1.begin( ), str1.end( ), expression, -1);
boost::sregex_token_iterator end;
const char *start=NULL,*endp;
while (p != end)
{
string str = *p;
printf("string:[%s]\n",str.c_str());
if ( str.compare("") != NULL )
{
dataVector.push_back(str);
}
p++;
}
}
2.2、按某一字符串进行分割操作,并存储到vector中,并保留分割符中的几位。
void split2(const char* data,boost::regex expression,vector<string> &dataVector,int length)
{
if ( length < 0 )
{
return ;
}
string str1(data);//将char *转化为string类型
boost::sregex_token_iterator p(str1.begin( ), str1.end( ), expression, -1);
boos
相关文档:
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:
1、基于C的文件操作;
2、基于C++的文件操作;
3、基于WINAPI的文件操作;
4、基于BCB库的文件操作;
5、特殊文件的操作。
壹、基于C的文件操作
在ANSI C中, ......
假设有char a[2];
如要把a转换为int值。应是如下写法int b=*(int *)a;
即,先把指针a 转换为一个int指针,然后再此基础上取值。
但是另一种写法 int b=(int)(*a);是不对的,*a 取a的内存单元内容,因为现在a是char指针,所以只会取a[1]中内容,最大为255. 这里要说明的是,在把char或byte数组转换为其他类型的值时,要先 ......
一. 准备知识
1. ISO文件
我们普遍使用的ISO文件是指包含着整个CD-ROM(ISO-9660 文件系统)内容的
映象, 是整个碟片从0扇区到最后一个扇区的完整复制,经常被用来在网络上传输
对于ISO文件我们可以:
1)刻录到光盘
2)用WinRAR,MagicISO等软件在Windows下查看或释放它的内容
3)在Linux系统 ......
GCC
目前,GCC(GNU Compiler Collection)是社区最好的编译器。GCC也就是以前的GNU C编译器(GNU C Compiler),是由egcs筹划指导委员会维护,他们的目标是让GCC成为标准的C编译器。1999年中,egcs和GCC工程合并为一个编辑器套装,同年10月发布GCC 2.95.2。
GCC是一个编 ......