1. 程式人生 > >一個字串擷取函式c語言

一個字串擷取函式c語言

剛開始學習c語言,標準庫中總是有很多函式沒有,string.h中的字串處理函式好像不是很多,在做棧的例子用需要用到一個字串按位置擷取的函式,就自己寫一個,超簡單。

char* substring(char* ch,int pos,int length)
{
    char* pch=ch;
//定義一個字元指標,指向傳遞進來的ch地址。
    char* subch=calloc(sizeof(char),length+1);
//通過calloc來分配一個length長度的字元陣列,返回的是字元指標。
    int i;
//只有在C99下for迴圈中才可以宣告變數,這裡寫在外面,提高相容性。
    pch=pch+pos;
//是pch指標指向pos位置。
    for(i=0;i<length;i++)
    {
        subch[i]=*(pch++);
//迴圈遍歷賦值陣列。
    }
    subch[length]='\0';//加上字串結束符。
    return subch;		//返回分配的字元陣列地址。
}