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,size_t cchDest,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,size_t cchDest,LPCTSTR pszSrc); //replacement for strcat
HRESULT StringCchCatN( LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc,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, const char *strSource, size_t count );
wchar_t *wcsncat( wchar_t *strDest, const wchar_t *strSource, 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,LPCTSTR lpEnd,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, char **endptr, 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") );
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,size_t cchDest,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,size_t cchDest,LPCTSTR pszSrc); //replacement for strcat
HRESULT StringCchCatN( LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc,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, const char *strSource, size_t count );
wchar_t *wcsncat( wchar_t *strDest, const wchar_t *strSource, 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,LPCTSTR lpEnd,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, char **endptr, 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") );
相關文章
- 比較字串和數字串字串
- 比較字串和數字串(續)字串
- 查詢oracle比較慢的session和sqlOracleSessionSQL
- mysql timestamp比較查詢MySql
- 查詢oracle比較慢的session和SQL[轉]OracleSessionSQL
- Java™ 教程(比較字串和字串的部分)Java字串
- VC++基礎 字串的查詢與替換C++字串
- 字串比較字串
- oracle中字串的大小比較,字串與數字的比較和運算Oracle字串
- 字串大小寫轉換和字串的比較字串
- 比較有索引和無索引的查詢速度(在mysql資料庫中)索引MySql資料庫
- 二叉樹的建立,插入,查詢,清空和比較二叉樹
- 【索引】oracle查詢使用索引和不使用索引的比較索引Oracle
- 百萬行資料查詢效能比較
- 在LoadRunner中查詢和替換字串字串
- 字串-簡單字串比較字串
- PHP比較字串PHP字串
- JAVA字串比較Java字串
- 字串查詢和替換字串
- 通過shell來比較oracle和java中的字串使用OracleJava字串
- 透過shell來比較oracle和java中的字串使用OracleJava字串
- Delphi中字串比較大小 VS Oracle-SQL中字串比較大小字串OracleSQL
- ORACLE 中IN和EXISTS比較Oracle
- 比較爽的導航查詢 功能 - SqlSugar ORMSqlSugarORM
- 探討一個比較複雜的查詢
- 比較優雅的後臺條件查詢
- shell下數字和字串比較操作命令字串
- 【實測】Python 和 C++ 下字串查詢的速度對比PythonC++字串
- python字串比較大小Python字串
- 字串拼接運算比較字串
- JavaScript字串如何比較大小JavaScript字串
- shell 下的字串比較字串
- LintCode 字串比較字串
- js字串查詢和替換功能JS字串
- BST查詢結構與折半查詢方法的實現與實驗比較
- (轉)ORACLE 中IN和EXISTS比較Oracle
- spring data mongo比較兩個欄位查詢SpringGo
- 一些比較有用的oracle查詢語句Oracle