?? hxstrutl.h
字號:
/* * * This software is released under the provisions of the GPL version 2. * see file "COPYING". If that file is not available, the full statement * of the license can be found at * * http://www.fsf.org/licensing/licenses/gpl.txt * * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. * */#ifndef _HXSTRUTL_H_#define _HXSTRUTL_H_#include "hlxclib/string.h" /* for strxxx functions */#include "hlxclib/stdlib.h" /* for atoi64() and itoa() functionallity */#include "safestring.h"#if !defined(_VXWORKS)#ifdef _UNIX#include <strings.h>#include <ctype.h>#endif#endif#ifdef _MACINTOSH#include <ctype.h>#endif#include "hxresult.h"#if defined (_MACINTOSH) #define isascii isprintinline const char *AnsiNext(const char* pcPtr) { return( pcPtr + 1 ); }inline const char *AnsiPrev(const char * /* pcStart */, const char* pcPtr) { return (pcPtr - 1 ); }int CopyP2CString(ConstStr255Param inSource, char* outDest, int inDestLength);void CopyC2PString(const char* inSource, Str255 outDest);char WINToMacCharacter( char inWINChar );// these functions are used to convert Windows extended chars (used in non-English Roman languages)// to Mac extended chars & vice-versavoid StripWinChars( char* pChars);void StripMacChars( char* pChars);inline void pstrcpy(Str255 dst, ConstStr255Param src) { BlockMoveData(src, dst, 1+src[0]); }#ifndef _CARBONinline void PStrCopy(StringPtr dest, ConstStr255Param src) { BlockMoveData(src, dest, 1+src[0]); }inline void p2cstrcpy(char *dst, ConstStr255Param src) { CopyP2CString(src, dst, 255); }inline void c2pstrcpy(Str255 dst, const char * src) { CopyC2PString(src, dst); }#endif#endif /* _MACINTOSH */#define CR (CHAR) '\r'#define LF (CHAR) '\n'#define CRLF "\r\n"#ifdef _WIN32 #define LINEBREAK "\015\012" #define LINEBREAK_LEN 2#else #define LINEBREAK "\012" #define LINEBREAK_LEN 1#endif /* _WIN32 */#define LINE_BUFFER_SIZE 4096#define MAX_BYTES_PER_COOKIE 4096#define MAX_NUMBER_OF_COOKIES 300#define MAX_COOKIES_PER_SERVER 20/*According to C99 7.4/1:---------------The header <ctype.h> declares several functions useful forclassifying and mapping characters. In all cases the argument is anint, the value of which shall be representable as an unsigned char orshall equal the value of the macro EOF. If the argument has any othervalue, the behavior is undefined.---------------Typecast the value to an (unsigned char) before passing it to isspace() to ensure thatif the value is a signed char it doesn't get bit extended on certain (VC) compilers.*/#define IS_SPACE(x) (isspace((unsigned char) x))#ifdef __cplusplusvoid StrAllocCopy(char*& pDest, const char* pSrc);#elsevoid StrAllocCopy(char** pDest, const char* pSrc);#endifchar* StripLine(char* pLine);#include "hxtypes.h"#include "hxcom.h"typedef _INTERFACE IHXValues IHXValues;HX_RESULT SaveStringToHeader(IHXValues* /* IN OUT */ pHeader, const char* /* IN */ pszKey, const char* /* IN */ pszValue);char* StrStrCaseInsensitive(const char* str1, const char* str2);char* StrNStr(const char* str1, const char* str2, size_t depth1, size_t depth2);char *StrNChr(const char *str, int c, size_t depth);char *StrNRChr(const char *str, int c, size_t depth);size_t StrNSpn(const char *str1, const char *str2, size_t depth1, size_t depth2);size_t StrNCSpn(const char *str1, const char *str2, size_t depth1, size_t depth2);char* StrToUpper(char *pString);#if defined( _SYMBIAN)#define NEW_FAST_TEMP_STR(NAME, EstimatedBiggestSize, LenNeeded) \ char* NAME = new char[(LenNeeded)]; #define DELETE_FAST_TEMP_STR(NAME) \ delete[] NAME; #else/* XXXSMP We can use alloca() on platforms that support it for more speed! */#define NEW_FAST_TEMP_STR(NAME, EstimatedBiggestSize, LenNeeded) \ char __##NAME##__StaticVersion[EstimatedBiggestSize]; \ char* NAME; \ UINT32 ulNeeded##NAME##Len = (LenNeeded); \ \ if (ulNeeded##NAME##Len <= EstimatedBiggestSize) \ { \ NAME = __##NAME##__StaticVersion; \ } \ else \ { \ NAME = new char[ulNeeded##NAME##Len]; \ }#define DELETE_FAST_TEMP_STR(NAME) \ if (NAME != __##NAME##__StaticVersion) \ { \ delete[] NAME; \ }#endif /* defined(_SYMBIAN) */#endif /* _HXSTRUTL_H_ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -