您的位置:首页 > 编程语言 > C语言/C++

[置顶] 【C语言】 提取子字符串

2016-05-26 12:24 465 查看
编写一个函数,它从一个字符串中提取一个子字符串。函数原型如下:
int substr(char dst[], char src[],int start, int len)
{}
目标是:从 src 数组起始位置向后偏移 start个字符的位置开始,最多复制 
len 个非NUL字符到 dst数组。在复制完毕之后,dst 数组必须以NUL字节结尾。
函数的返回值是存储于 dst 数组中的字符串的长度。

代码实现:

#include <stdio.h>
#include <assert.h>

int substr(char dst[], char src[], int start, int len)
{
assert(dst);
assert(src);
int ret = 0;
while (start)
{
src++; 
start--;
}
if (strlen(src) < len)
{
len = strlen(src);
}
ret = len;
while (len)
{
*dst++ = *src++;
len--;
}
*dst = '\0';

return ret;
}
int main()
{
char *p = "bit-tech";
char arr[10];
char array[10] = {0};
int ret = substr(arr, p, 4,5);
printf("%d\n", ret);
printf("%s\n", arr);
system("pause");
return 0;
}


本文出自 “Vs吕小布” 博客,请务必保留此出处http://survive.blog.51cto.com/10728490/1706007
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: