因為去公司上班作業中有要求到做類似的事情 又一定要用C去頗析字串,只好自己寫幾個幫助自己頗析字串的函式。
請搭配 strpbrk() strrchr() 使用! 引用
strcspn | 計算經過幾個字元會在字串 s1 中遇到屬於 s2 中的字元 | size_t strcspn(const char *s1, const char *s2); |
strspn | 計算經過幾個字元會在字串 s1 中遇到不屬於 s2 中的字元 | size_t strspn(const char *s1, const char *s2); |
// 刪除指定位置後的字串(包含該位置)
void trimBackString(char* pcStr , int iPos)
{
int i;
int iMaxSize;
i = iPos;
iMaxSize = strlen(pcStr);
if (iMaxSize > iPos)
{
pcStr[i] = '\0';
}
else
{
pcStr[iMaxSize] = '\0';
}
}
// 刪除指定位置前的所有字串(不包含該位置)
void trimFrontString(char* pcStr , int iPos)
{
int i;
char pcToken[MAX_USER_INPUT_SIZE];
int iSize ;
iSize = strlen(pcStr);
if((iSize - iPos) < 0)
{
pcToken[0] = '\0'; // 讓這個字串是空的
}
else
{
for (i = 0 ; pcStr[i+iPos]!='\0' ; i ++)
{
pcToken[i] = pcStr[i+iPos];
}
pcToken[i] = '\0';
}
memcpy(pcStr , pcToken , strlen(pcToken) + 1);
}
沒有一定要用C的話 可以試試boost
回覆刪除版主回應:
感謝學長! boost還在學習中,是好用的東西阿!