一个字符串截取函数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;		//返回分配的字符数组地址。
}


 

你可能感兴趣的:(c,语言)