乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      web信息的搜集---StrFun.h+StrFun.cpp

       閑來看看 2013-01-18
      2011-11-01 21:18

      web信息的搜集---StrFun.h+StrFun.cpp

      StrFun.h

      #ifndef STRFUN_H_

      #define STRFUN_H_

      #include<string>

      #include<sstream>

      #include<algorithm>

      #include<iostream>

      using namespace std;

      class CStrFun

      {

      public:

      CStrFun();

      virtual ~CStrFun();

      static string itos(long long i)

      {

      stringstream s;

      s<<i;

      return s.str();

      }

      static void Str2Lower(string &source,int nLen);

      static string::size_type FindCase(string haystack,string needle);

      static string::size_type FindCaseFrom(string haystack,string needle,int From);

      static void ReplaceStr(string &str,string srstr,string dsstr);

      static void EraseStr(string &str,string substr);

      //靜態(tài)函數(shù),歸屬于類空間的函數(shù)

      };

      #endif /* STRFUN_H_ */

      StrFun.cpp

      #include"StrFun.h"

      CStrFun::CStrFun()

      {

      }

      CStrFun::~CStrFun()

      {

      }

      //將string中的大寫字母變成小寫字母

      void CStrFun::Str2Lower(string &str,int nLen)

      {

      int i;

      for(i=0;i<nLen;i++)

      if(str[i]>='A'&&str[i]<='Z')

      str[i]+=32;

      return;

      }

      //toupper(ch):將ch變成大寫字母,該函數(shù)為比較函數(shù),不分字母大小寫的比較['A'=='a']

      bool _nocase_compare(char c1,char c2)

      {

      return toupper(c1)==toupper(c2);

      }

      /*

      功能:

      找到haystack字符串中needle出現(xiàn)的位置,注意點(diǎn)就是,例如:

      haystack="AAABBBCCC"

      needle="abbbc"

      則返回的是2

      haystack="AAABBBCC"

      needle="ABBBC"

      則返回的是2

      [我們這里是忽略字母的大小寫的比較]

      */

      string::size_type CStrFun::FindCase(string haystack,string needle)

      {

      if(haystack.empty())

      return string::npos;

      if(needle.empty())

      return string::npos;

      string::iterator pos;

      pos=search(haystack.begin(),haystack.end(),needle.begin(),needle.end(),_nocase_compare);

      if(pos==haystack.end())

      return string::npos;

      else

      return (pos-haystack.begin());

      }

      /*

      功能:

      同上

      不同的是,多了一個(gè)參數(shù)nFrom,指示的是haystack的第nFrom位置開始查找

      而上面的函數(shù)是在第0個(gè)位置開始查找.

      */

      string::size_type CStrFun::FindCaseFrom(string haystack,string needle,int nFrom)

      {

      if(haystack.empty())

      return string::npos;

      if(needle.empty())

      return string::npos;

      string::iterator pos;

      pos=search(haystack.begin()+nFrom,haystack.end(),needle.begin(),needle.end(),_nocase_compare);

      if(pos==haystack.end())

      return string::npos;

      else

      return (pos-haystack.begin());

      }

      /*

      功能:

      刪除str中所有的substr子字符串

      */

      void CStrFun::EraseStr(string &str,string substr)

      {

      if(str.size()==0||substr.size()==0)

      return;

      string::size_type idx=0;

      string::size_type sub_length=substr.length();

      idx=str.find(substr,idx);//從字符串str中的idx位置開始查找substr

      while(idx!=string::npos)

      {

      str.erase(idx,sub_length);//刪除字符串str從idx位置開始的長(zhǎng)為sub_length個(gè)字符

      idx=str.find(substr,idx);

      }

      return;

      }

      /*

      功能:

      在str中找到所有的srstr字串,并用dsstr字串代替

      不要求刪除的字串同插入的字串相同.

      */

      void CStrFun::ReplaceStr(string &str,string srstr,string dsstr)

      {

      if(str.size()==0||srstr.size()==0)

      return;

      string::size_type idx=0;

      string::size_type sub_length=srstr.length();

      idx=str.find(srstr,idx);

      while(idx!=string::npos)

      {

      str.replace(idx,sub_length,dsstr);//刪除str中從idx位置開始的長(zhǎng)為sub_length個(gè)字符,然后用字符串dsstr代替

      if(idx+dsstr.size()>str.size())

      break;//str最尾端的字符串都被dsstr代替了,則結(jié)束,因?yàn)椴豢赡苷业絪rstr字符串了

      idx=str.find(srstr,idx+dsstr.size());//加快類匹配速度,而且防止了匹配覆蓋

      }

      return;

      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多