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


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值