2011年8月9日 星期二

C語言的切割字串方法

因為去公司上班作業中有要求到做類似的事情 又一定要用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);
}

 

1 則留言:

  1. 沒有一定要用C的話 可以試試boost
    版主回應:
    感謝學長! boost還在學習中,是好用的東西阿!

    回覆刪除