char* subString (const char* input, int offset, int len, char* dest) {
if(input == NULL || dest == NULL || offset < 0 || len < 0)
return EMPTY_STR;
int input_len = strlen (input);
if (offset + len > input_len) {
return EMPTY_STR;
}
strncpy (dest, input + offset, len);
return dest;
}
//copy specific string into target between headFlag and tailFlag in response string
char* splitStr(char * response, const char* headFlag, const char* tailFlag, char* target) {
if(response == NULL || headFlag == NULL || tailFlag == NULL || target == NULL)
return EMPTY_STR;
int headFlagLen = strlen(headFlag);
const char* headFlagPtr = strstr(response, headFlag);
const char* tailFlagPtr = strstr(response, tailFlag);
if(headFlagPtr == NULL || tailFlagPtr == NULL)
return EMPTY_STR;
int subStrLen = tailFlagPtr - headFlagPtr - headFlagLen;
if(subStrLen <= 0)
return EMPTY_STR;
else
return subString (headFlagPtr, headFlagLen , subStrLen, target);
}
C split 截取特定字符串功能实现
最新推荐文章于 2021-03-05 15:29:20 发布