微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VC 中字符串比较和查找

常用字符串函数   
1. 字符串比较函数   

    //比较两个字符串是否相同   
    int StrCmp(LPCTSTR lpStr1,LPCTSTR lpStr2);   
    int StrCmpN(LPCTSTR lpStr1,LPCTSTR lpStr2,int nChar);   
    int strcmp( const char *string1,const char *string2 );   
    int wcscmp( const wchar_t *string1,const wchar_t *string2 );   
    int CompareString(LCID Locale,DWORD dwCmpFlags,LPCTSTR lpString1,int cchCount1,LPCTSTR lpString2,int cchCount2);   

2. 计算字符串长度   

        HRESULT StringCchLength( LPCTSTR psz,size_t cchMax,size_t *pcch); //replacement for strlen   
          size_t strlen( const char *string );   
          size_t wcslen( const wchar_t *string );   

3. 字符串赋值函数   

        HRESULT StringCchcopy(LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc); //replacement for strcpy   
        HRESULT StringCchcopyN(LPTSTR pszDest,LPCTSTR pszSrc,size_t cchSrc); //replacement for strncpy   
        LPTSTR Strcpy(LPTSTR psz1,LPCTSTR psz2); //存在安全问题   
          LPTSTR StrcpyN(LPTSTR psz1,LPCTSTR psz2,int cchMax); //存在安全问题   
          char *strcpy( char *strDestination,const char *strSource );   
          wchar_t *wcscpy( wchar_t *strDestination,const wchar_t *strSource );   
          char *strncpy( char *strDest,const char *strSource,size_t count );   
          wchar_t *wcsncpy( wchar_t*strDest,const wchar_t *strSource,size_t count );   

4. 字符串连接函数   

      HRESULT StringCchCat( LPTSTR pszDest,LPCTSTR pszSrc); //replacement for strcat   
        HRESULT StringCchCatN( LPTSTR pszDest,size_t cchMaxAppend); //replacement for strncat   
      LPTSTR StrCat( LPTSTR psz1,LPCTSTR psz2); //存在安全问题   
        LPTSTR StrNCat( LPTSTR pszFront,LPCTSTR pszBack,int cchMax); //存在安全问题   
      char *strcat( char *strDestination,const char *strSource );   
        wchar_t *wcscat( wchar_t *strDestination,const wchar_t *strSource );   
        char *strncat( char *strDest,size_t count );   
        wchar_t *wcsncat( wchar_t *strDest,size_t count );   

5. 字符查找函数   

        //查找字符串中指定字符第一次出现的位置   
        LPTSTR StrChr( LPCTSTR lpStart,TCHAR wMatch); //区分大小写   
        char *strchr( const char *string,int c );   
        wchar_t *wcschr( const wchar_t *string,wchar_t c );   
        LPTSTR StrChrI( LPCTSTR lpStart,TCHAR wMatch); //不区分大小写   

      //查找字符串中指定字符最后一次出现的位置   
      LPTSTR StrRChr( LPCTSTR lpStart,LPCTSTR lpEnd,TCHAR wMatch); //区分大小写   
      char *strrchr( const char*string,int c );   
        wchar *wcsrchr( const wchar_t *string,int c );   
        LPTSTR StrRChrI( LPCTSTR lpStart,TCHAR wMatch); //不区分大小写   
        
      *注 StrRChr()函数可以通过StrChr()函数和while循环来实现。   

补充:   
查找字符串:   

    _tcsstr(........)   

字符串转化为double型数字   

    _tcstod( const char *nptr,char **endptr )   



字符串转化为double型整数(只取整数部分,不取小数)Convert strings to a long-integer value.   

    _tcstoul ( const char *nptr,char **endptr,int base )   

    _tcstol ( const char *nptr,int base )   



取子字符串   

Extracts a substring of length nCount characters from this CStringT object,starting at position iFirst (zero-based).   

CStringT Mid(   
int iFirst,   
int nCount   
) const;   
CStringT Mid(   
int iFirst   
) const;   

example:   

//typedef CStringT < TCHAR,StrTraitATL < TCHAR > > CAtlString;   

CAtlString s( _T("abcdef") );   
_ASSERT( s.Mid( 2,3 ) == _T("cde") );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐