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
Ïà¹ØÎĵµ£º
¸ÅÊö
ÈÃÊý¾Ý¿âÔÚ²Ù×÷ϵͳÆô¶¯µÄʱºò×Ô¶¯Æô¶¯£¬»áÈÃÊý¾Ý¿âµÄά»¤±äµÃ¸ü¼Ó¼òµ¥¡¢·½±ã¡£
Ôø¾Ð´¹ýһƪÔÚlinux×Ô¶¯Æô¶¯
oracleµÄÎÄÕ“linux
ÏÂOracle×Ô¶¯Æô¶¯ÓëÍ£Ö¹£¨Ò»£©
”http://blog.csdn.net/chenxiaohua/archive/2008/02/26/2121878.aspx
¡£
¸ÃÎÄÕµķ½·¨ÐèÒªÓõ½/etc/oratab¡¢$ORACLE_HOME/bin/dbst ......
¾¹ý¼¸´ÎÃæÊÔ£¬·¢ÏÖ±ÊÊÔÌâ»ù±¾É϶¼ÊÇÄǼ¸µÀ£¬Ã»ÓÐʲô´´Ð»òÕ߸ı䣬×ܽá³öÀ´¸ø´ó¼Ò²Î¿¼²Î¿¼.
Ò»¡¢ÇëÌîдBOOL , float, Ö¸Õë±äÁ¿Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä¡££¨10·Ö£©
Çëд³ö BOOL flag Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä¡££¨3·Ö£©
±ê×¼´ð°¸£º
if ( flag )
& ......
¹ØÓڼǺÅÕ³Ìù²Ù×÷·û(token paste operator): ##
1. ¼òµ¥µÄ˵£¬“##”ÊÇÒ»ÖÖ·Ö¸ôÁ¬½Ó·½Ê½£¬ËüµÄ×÷ÓÃÊÇÏÈ·Ö¸ô£¬È»ºó½øÐÐÇ¿ÖÆÁ¬½Ó¡£
ÆäÖУ¬·Ö¸ôµÄ×÷ÓÃÀàËÆÓÚ¿Õ¸ñ¡£ÎÒÃÇÖªµÀÔÚÆÕͨµÄºê¶¨ÒåÖУ¬Ô¤´¦ÀíÆ÷Ò»°ã°Ñ¿Õ¸ñ
½âÊͳɷֶαêÖ¾£¬¶ÔÓÚÿһ¶ÎºÍÇ°Ãæ±È½Ï£ ......