文字列切り取り関数c言語

671 ワード

c言語を勉強し始めたばかりで、標準ライブラリにはいつも多くの関数がありません.string.hの文字列処理関数はそれほど多くないようですが、スタックの例では文字列を1つ使って位置別に切り取る必要がある関数を使って、自分で1つ書いて、超簡単です.
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;		//           。
}