[置顶] 【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
相关文章推荐
- [置顶] 【C语言】 求一个数的二进制反转后的值
- [置顶] 【C语言】求两数二进制序列不同的位
- [置顶] 【C语言】 棋盘游戏
- [置顶] 【C语言】 数组的初始化、逆置、清空
- [置顶] 【C语言】 折半查找
- [置顶] 【C语言】 杀人凶手问题
- [置顶] 【C语言】 跳水比赛名次预测问题
- [置顶] 【C语言】杨辉三角
- [置顶] 【C语言】 猜数字游戏
- [置顶] 【C语言】 n个不同的数可组成多少个不同的三位数
- [置顶] 【C语言】求最大最小值
- [置顶] 【C语言】一分钟后关机
- [置顶] 【C语言】判断花括号{}是否匹配
- [置顶] 【C语言】求 a+aa+aaa+aaaa+aaaaa
- [置顶] 【C语言】模拟三次密码输入
- [置顶] 【C语言】输出字符串
- [置顶] 【C语言】输出一个整数的每一位
- [置顶] 【C语言】输出菱形星号图案
- [置顶] 【C语言】接收字符,大小写字符相互转换后输出,数字不输出
- [置顶] 【C语言】求两个数的最大公约数