这篇教程C++ AssertValidStringPtr函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中AssertValidStringPtr函数的典型用法代码示例。如果您正苦于以下问题:C++ AssertValidStringPtr函数的具体用法?C++ AssertValidStringPtr怎么用?C++ AssertValidStringPtr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了AssertValidStringPtr函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: V_stristrchar* V_stristr( char* pStr, char const* pSearch ){ AssertValidStringPtr( pStr ); AssertValidStringPtr( pSearch ); return (char*)V_stristr( (char const*)pStr, pSearch );}
开发者ID:TrentSterling,项目名称:D0G,代码行数:7,
示例2: V_strncasecmpint V_strncasecmp (const char *s1, const char *s2, int n){ Assert( n >= 0 ); AssertValidStringPtr( s1 ); AssertValidStringPtr( s2 ); while ( n-- > 0 ) { int c1 = *s1++; int c2 = *s2++; if (c1 != c2) { if (c1 >= 'a' && c1 <= 'z') c1 -= ('a' - 'A'); if (c2 >= 'a' && c2 <= 'z') c2 -= ('a' - 'A'); if (c1 != c2) return c1 < c2 ? -1 : 1; } if ( c1 == '/0' ) return 0; // null terminator hit - strings the same } return 0; // n characters compared the same}
开发者ID:TrentSterling,项目名称:D0G,代码行数:26,
示例3: V_strcasecmpint V_strcasecmp( const char *s1, const char *s2 ){ AssertValidStringPtr( s1 ); AssertValidStringPtr( s2 ); return stricmp( s1, s2 );}
开发者ID:TrentSterling,项目名称:D0G,代码行数:7,
示例4: Assert//-----------------------------------------------------------------------------// Purpose: If COPY_ALL_CHARACTERS == max_chars_to_copy then we try to add the whole pSrc to the end of pDest, otherwise// we copy only as many characters as are specified in max_chars_to_copy (or the # of characters in pSrc if thats's less).// Input : *pDest - destination buffer// *pSrc - string to append// destBufferSize - sizeof the buffer pointed to by pDest// max_chars_to_copy - COPY_ALL_CHARACTERS in pSrc or max # to copy// Output : char * the copied buffer//-----------------------------------------------------------------------------char *V_strncat(char *pDest, const char *pSrc, size_t destBufferSize, int max_chars_to_copy ){ size_t charstocopy = (size_t)0; Assert( destBufferSize >= 0 ); AssertValidStringPtr( pDest); AssertValidStringPtr( pSrc ); size_t len = strlen(pDest); size_t srclen = strlen( pSrc ); if ( max_chars_to_copy <= COPY_ALL_CHARACTERS ) { charstocopy = srclen; } else { charstocopy = (size_t)min( max_chars_to_copy, (int)srclen ); } if ( len + charstocopy >= destBufferSize ) { charstocopy = destBufferSize - len - 1; } if ( !charstocopy ) { return pDest; } char *pOut = strncat( pDest, pSrc, charstocopy ); pOut[destBufferSize-1] = 0; return pOut;}
开发者ID:TrentSterling,项目名称:D0G,代码行数:42,
示例5: _V_stricmpint _V_stricmp(const char* file, int line, const char *s1, const char *s2 ){ AssertValidStringPtr( s1 ); AssertValidStringPtr( s2 ); return stricmp( s1, s2 );}
开发者ID:TrentSterling,项目名称:D0G,代码行数:7,
示例6: V_strnicmpint V_strnicmp (const char *s1, const char *s2, int n){ Assert( n >= 0 ); AssertValidStringPtr(s1); AssertValidStringPtr(s2); return V_strncasecmp( s1, s2, n );}
开发者ID:TrentSterling,项目名称:D0G,代码行数:8,
示例7: AssertValidStringPtrchar *_V_strstr(const char* file, int line, const char *s1, const char *search ){ AssertValidStringPtr( s1 ); AssertValidStringPtr( search );#if defined( _X360 ) return (char *)strstr( (char *)s1, search );#else return (char *)strstr( s1, search );#endif}
开发者ID:TrentSterling,项目名称:D0G,代码行数:11,
示例8: V_strnistr//-----------------------------------------------------------------------------// Finds a string in another string with a case insensitive test w/ length validation//-----------------------------------------------------------------------------char const* V_strnistr( char const* pStr, char const* pSearch, int n ){ AssertValidStringPtr(pStr); AssertValidStringPtr(pSearch); if (!pStr || !pSearch) return 0; char const* pLetter = pStr; // Check the entire string while (*pLetter != 0) { if ( n <= 0 ) return 0; // Skip over non-matches if (tolower(*pLetter) == tolower(*pSearch)) { int n1 = n - 1; // Check for match char const* pMatch = pLetter + 1; char const* pTest = pSearch + 1; while (*pTest != 0) { if ( n1 <= 0 ) return 0; // We've run off the end; don't bother. if (*pMatch == 0) return 0; if (tolower(*pMatch) != tolower(*pTest)) break; ++pMatch; ++pTest; --n1; } // Found a match! if (*pTest == 0) return pLetter; } ++pLetter; --n; } return 0;}
开发者ID:TrentSterling,项目名称:D0G,代码行数:55,
示例9: _V_strcpyvoid _V_strcpy (const char* file, int line, char *dest, const char *src){ AssertValidWritePtr(dest); AssertValidStringPtr(src); strcpy( dest, src );}
开发者ID:TrentSterling,项目名称:D0G,代码行数:7,
示例10: V_UTF8ToUnicode//-----------------------------------------------------------------------------// Purpose: Converts a UTF8 string into a unicode string//-----------------------------------------------------------------------------int V_UTF8ToUnicode( const char *pUTF8, wchar_t *pwchDest, int cubDestSizeInBytes ){ // pwchDest can be null to allow for getting the length of the string if ( cubDestSizeInBytes > 0 ) { AssertValidWritePtr(pwchDest); pwchDest[0] = 0; } if ( !pUTF8 ) return 0; AssertValidStringPtr(pUTF8);#ifdef _WIN32 int cchResult = MultiByteToWideChar( CP_UTF8, 0, pUTF8, -1, pwchDest, cubDestSizeInBytes / sizeof(wchar_t) );#elif _LINUX int cchResult = mbstowcs( pwchDest, pUTF8, cubDestSizeInBytes / sizeof(wchar_t) ) + 1;#endif if ( cubDestSizeInBytes > 0 ) { pwchDest[(cubDestSizeInBytes / sizeof(wchar_t)) - 1] = 0; } return cchResult;}
开发者ID:TrentSterling,项目名称:D0G,代码行数:30,
示例11: V_atoiint V_atoi (const char *str){ AssertValidStringPtr( str ); int val; int sign; int c; Assert( str ); if (*str == '-') { sign = -1; str++; } else sign = 1; val = 0;//// check for hex// if (str[0] == '0' && (str[1] == 'x' || str[1] == 'X') ) { str += 2; while (1) { c = *str++; if (c >= '0' && c <= '9') val = (val<<4) + c - '0'; else if (c >= 'a' && c <= 'f') val = (val<<4) + c - 'a' + 10; else if (c >= 'A' && c <= 'F') val = (val<<4) + c - 'A' + 10; else return val*sign; } } //// check for character// if (str[0] == '/'') { return sign * str[1]; } //// assume decimal// while (1) { c = *str++; if (c <'0' || c > '9') return val*sign; val = val*10 + c - '0'; } return 0;}
开发者ID:TrentSterling,项目名称:D0G,代码行数:60,
示例12: V_snprintfint V_snprintf( char *pDest, int maxLen, char const *pFormat, ... ){ Assert( maxLen >= 0 ); AssertValidWritePtr( pDest, maxLen ); AssertValidStringPtr( pFormat ); va_list marker; va_start( marker, pFormat );#ifdef _WIN32 int len = _vsnprintf( pDest, maxLen, pFormat, marker );#elif _LINUX int len = vsnprintf( pDest, maxLen, pFormat, marker );#else #error "define vsnprintf type."#endif va_end( marker ); // Len < 0 represents an overflow if( len < 0 ) { len = maxLen; pDest[maxLen-1] = 0; } return len;}
开发者ID:TrentSterling,项目名称:D0G,代码行数:27,
示例13: V_strncmpint V_strncmp (const char *s1, const char *s2, int count){ Assert( count >= 0 ); AssertValidStringPtr( s1, count ); AssertValidStringPtr( s2, count ); while ( count-- > 0 ) { if ( *s1 != *s2 ) return *s1 < *s2 ? -1 : 1; // string different if ( *s1 == '/0' ) return 0; // null terminator hit - strings the same s1++; s2++; } return 0; // count characters compared the same}
开发者ID:TrentSterling,项目名称:D0G,代码行数:18,
示例14: HACK_stristr//-----------------------------------------------------------------------------// 360 spew sizes of dll modules//-----------------------------------------------------------------------------char const* HACK_stristr( char const* pStr, char const* pSearch ) // hack because moved code from above vstdlib{ AssertValidStringPtr(pStr); AssertValidStringPtr(pSearch); if (!pStr || !pSearch) return 0; char const* pLetter = pStr; // Check the entire string while (*pLetter != 0) { // Skip over non-matches if (tolower((unsigned char)*pLetter) == tolower((unsigned char)*pSearch)) { // Check for match char const* pMatch = pLetter + 1; char const* pTest = pSearch + 1; while (*pTest != 0) { // We've run off the end; don't bother. if (*pMatch == 0) return 0; if (tolower((unsigned char)*pMatch) != tolower((unsigned char)*pTest)) break; ++pMatch; ++pTest; } // Found a match! if (*pTest == 0) return pLetter; } ++pLetter; } return 0;}
开发者ID:DeadZoneLuna,项目名称:SourceEngine2007,代码行数:45,
示例15: V_strncpyvoid V_strncpy( char *pDest, char const *pSrc, int maxLen ){ mxASSERT( maxLen >= 0 ); AssertValidWritePtr( pDest, maxLen ); AssertValidStringPtr( pSrc ); strncpy( pDest, pSrc, maxLen ); if ( maxLen > 0 ) { pDest[maxLen-1] = 0; }}
开发者ID:S-V,项目名称:SummerTraining,代码行数:12,
示例16: V_UnicodeToUTF8//-----------------------------------------------------------------------------// Purpose: Converts a unicode string into a UTF8 (standard) string//-----------------------------------------------------------------------------int V_UnicodeToUTF8( const wchar_t *pUnicode, char *pUTF8, int cubDestSizeInBytes ){ AssertValidStringPtr(pUTF8, cubDestSizeInBytes); AssertValidReadPtr(pUnicode); pUTF8[0] = 0;#ifdef _WIN32 int cchResult = WideCharToMultiByte( CP_UTF8, 0, pUnicode, -1, pUTF8, cubDestSizeInBytes, NULL, NULL );#elif _LINUX int cchResult = wcstombs( pUTF8, pUnicode, cubDestSizeInBytes );#endif pUTF8[cubDestSizeInBytes - 1] = 0; return cchResult;}
开发者ID:S-V,项目名称:SummerTraining,代码行数:17,
注:本文中的AssertValidStringPtr函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ AssertWarn函数代码示例 C++ AssertTrue函数代码示例 |