1 /******************************************************************************
2 ###############################################################################
3 # Copyright (c) [2017-2020] [ICT/CAS] #
4 # Licensed under the ORAN Software License v1.0 (License) #
5 ###############################################################################
6 ******************************************************************************/
9 #ifndef __VOS_STRING_H__
10 #define __VOS_STRING_H__
14 #endif /* __cplusplus */
17 VOID *VOS_MemCpy(VOID * pcDest, const VOID * pcSrc, ULONG ulLen);
20 VOID *VOS_MemMove(VOID * pcDest, const VOID * pcSrc, ULONG ulLen);
23 VOID *VOS_MemSet(VOID *pcBuf, CHAR cWhat, ULONG ulHowMany);
25 /** 同 memset(&var,0,sizeof(var)) */
26 VOID *VOS_MemZero(VOID *pcBuf, ULONG ulHowMany);
29 LONG VOS_MemCmp(const VOID *pcBuf1, const VOID *pcBuf2, ULONG ulLen);
32 CHAR *VOS_StrChr(const CHAR *pcStr, CHAR cCh);
35 CHAR *VOS_StrRChr(const CHAR *pcStr, CHAR cCh);
38 CHAR *VOS_StrCat(CHAR *pcDest, const CHAR *pcAppend);
41 CHAR *VOS_StrnCat(CHAR *pcDest, const CHAR *pcAppend, ULONG ulLen);
44 CHAR *VOS_StrCpy(CHAR *pcDest, const CHAR *pcSrc);
47 CHAR *VOS_StrnCpy(CHAR * pcDest,const CHAR *pcSrc, ULONG ulCount);
50 ULONG VOS_StrnCmp(const CHAR * cs, const CHAR * ct, ULONG count);
53 LONG VOS_StrCmp(const CHAR *szStr1, const CHAR *szStr2);
56 ULONG VOS_StrLen(const CHAR *szStr);
59 CHAR *VOS_StrStr(const CHAR *szStr, const CHAR *szToFind);
62 CHAR *VOS_StrpBrk(const CHAR *szStr, const CHAR *szToFind);
65 LONG VOS_AtoL(const CHAR *szString);
68 LONG VOS_StrToL(const CHAR *cp,CHAR **endp,INT base);
71 ULONG VOS_StrToUL(const CHAR *szNptr, CHAR **szEndptr, INT ulBase );
74 LONGLONG VOS_StrToLL(const CHAR *cp,CHAR **endp,INT base);
77 ULONGLONG VOS_StrToULL(const CHAR *cp,CHAR **endp,INT base);
80 CHAR * VOS_StrToK(CHAR* strToken, const CHAR * strDelimit);
83 INT VOS_AtoI(const CHAR* s);
86 ULONG VOS_StrnCaseCmp(const CHAR*, const CHAR*, ULONG ulLen);
89 LONG VOS_StrCaseCmp(const CHAR *cs, const CHAR *ct);
92 ULONG VOS_StrnLen(const CHAR * s, ULONG count);
95 CHAR *VOS_StrToLower(CHAR *src);
98 CHAR *VOS_StrToUpper(CHAR *src);
102 * 复制字符串,申请大小为strlen(src)+1内存,然后将字符串拷入,并返回
103 * @param[in] src 源字符串
104 * @param[in] mod_id 模块ID
105 * @return 成功返回新字符串的地址,失败返回NULL
107 CHAR *VOS_StrDup (const CHAR *src,INT mod_id);
111 * 复制字符串,并转换为小写,申请大小为strlen(src)+1内存,然后将字符串拷入,并返回
112 * @param[in] src 源字符串
113 * @param[in] mod_id 模块ID
115 CHAR *VOS_StrDupToLower (const CHAR *src,INT mod_id);
119 * 计算从左侧第一个不是空白字符起到字符串结尾的长度
120 * @param[in] szStr 字符串
123 ULONG VOS_StrLeftTrimLen(const CHAR *szStr);
127 * 将str 中的old字符替换成new字符
129 * @param[in] old 要替换的字符
130 * @param[in] new 替换成的字符
133 CHAR *VOS_StrCharReplace(CHAR *src,const CHAR old,const CHAR new);
138 #endif /* __cplusplus */
140 #endif /*__VOS_STRING_H__*/