CString::Find




名称



CString::Find



编辑本段作用



在一个较大的 字符串中查找字符或子字符串



int Find( TCHAR ch ) const; 
  
 
  

    int Find( LPCTSTR lpszSub ) const; 
  
 
  

    int Find( TCHAR ch, int nStart ) const; 
  
 
  

    int Find( LPCTSTR pstr, int nStart ) const;



编辑本段返回值



返回此CString对象中与需要的子字符串或字符匹配的第一个字符的 从零开始的索引;如果没有找到子字符串或字符则返回-1。



编辑本段参数



ch                   要搜索的单个字符。



lpszSub           要搜索的子字符串。



nStart               字符串中开始搜索的字符的索引,如果是0,则是从头开始搜索。如果nStart不是0,则位于nStart之前的 字符不包括在搜索之内。



pstr                 指向要搜索的字符串的指针



编辑本段说明



此成员函数用来在此字符串中搜索子字符串的第一个匹配的字符。函数的 重载可以接收单个字符(类似于运行时函数strchr)和字符串(类似于strstr)。



编辑本段示例



//下面演示第一个例子 
  
 
  

    // CString::Find( TCHAR ch ) 
  
 
  

    CString s( "abcdef" ); 
  
 
  

    int  n = s.Find( 'c' );        // 结果 n = 2 
  
 
  

    int  f = s.Find( "de" ) ;    // 结果 f = 3 
  
 
  

    ASSERT( n == 2 ); 
  
 
  

    ASSERT( f == 3 ); 
  
 
  

    // 下面演示第二个例子 
  
 
  

    // CString::Find(TCHAR ch,int nStart) 
  
 
  

    CString str("The stars are aligned"); 
  
 
  

    int n = str.Find('e',2);         //结果 n = 2 
  
 
  
 
   
 
  
 
   
 
  
实现中国工商银行模糊匹配:
 
  
BOOL OcrForLogo::isGongHangLogo()
 
   
{
 
   
 //根据字符串结果进行模糊匹配
 
   
 BOOL isGHFlag=false;
 
   
 int zhong,guo,gong,shang,yin,hang;
 
   
 int n;
 
   
 zhong = ocrStr.Find("中");
 
   
 guo = ocrStr.Find("国");
 
   
 gong = ocrStr.Find("工");
 
   
 shang = ocrStr.Find("商");
 
   
 yin = ocrStr.Find("银");
 
   
 hang = ocrStr.Find("行");
 
   
 
 
   
 if(gong!=-1)
 
   
 {
 
   
 if(zhong!=-1)
 
   
 {
 
   
 n = gong-zhong;
 
   
 if(n==4)
 
   
 {
 
   
 isGHFlag=true;
 
   
 }
 
   
 else
 
   
 isGHFlag=false;
 
   
 }
 
   
 if(guo!=-1)
 
   
 {
 
   
 n = gong-guo;
 
   
 if(n==2)
 
   
 {
 
   
 isGHFlag=true;
 
   
 }
 
   
 else
 
   
 isGHFlag=false;
 
   
 }
 
   
 if(shang!=-1)
 
   
 {
 
   
 n = shang-gong;
 
   
 if(n==2)
 
   
 {
 
   
 isGHFlag=true;
 
   
 }
 
   
 else
 
   
 isGHFlag=false;
 
   
 }
 
   
 if(yin!=-1)
 
   
 {
 
   
 n = yin-gong;
 
   
 if(n==4)
 
   
 {
 
   
 isGHFlag=true;
 
   
 }
 
   
 else
 
   
 isGHFlag=false;
 
   
 }
 
   
 if(zhong!=-1)
 
   
 {
 
   
 n = hang-gong;
 
   
 if(n==6)
 
   
 {
 
   
 isGHFlag=true;
 
   
 }
 
   
 else
 
   
 isGHFlag=false;
 
   
 }
 
   
 }
 
   
 else
 
   
 {
 
   
 isGHFlag=false;
 
   
 }
 
   

 
   

 
   
 return isGHFlag;
 
   
}