编写一个函数,它从一个字符串中提取一个子字符串。
2016-06-01 17:40
316 查看
函数原型如下:
int substr(char dst[], char src[], int start, int len){}
目标是:
从 src 数组起始位置向后偏移 start个字符的位置开始,
最多复制 len 个非NUL 字符到 dst数组。在复制完毕之后, dst 数组必须
以 NUL字节结尾。函数的返回值是存储于 dst 数组中的字符串的长度。
#include<stdio.h>
int main()
{
char dst[10];
char src[] = "Hello—Wellcome";
substr(dst, src, 6, 8);
printf("%d\n", sizeof(dst));
printf("%d\n", strlen(dst)+1);
printf("%s\n", dst);
system("pause");
return 0;
}
int substr(char dst[], char src[], int start, int len)
{
char* sc = src + start;
//assert(dst != NULL&&src != NULL);
int n, i=0;
n = strlen(sc);
if (n < len) //拷贝len个
{
len = n;
}
while (len)
{
dst[i] = sc[i];
len--;
i++;
}
dst[i] = ' ';
}
int substr(char dst[], char src[], int start, int len){}
目标是:
从 src 数组起始位置向后偏移 start个字符的位置开始,
最多复制 len 个非NUL 字符到 dst数组。在复制完毕之后, dst 数组必须
以 NUL字节结尾。函数的返回值是存储于 dst 数组中的字符串的长度。
#include<stdio.h>
int main()
{
char dst[10];
char src[] = "Hello—Wellcome";
substr(dst, src, 6, 8);
printf("%d\n", sizeof(dst));
printf("%d\n", strlen(dst)+1);
printf("%s\n", dst);
system("pause");
return 0;
}
int substr(char dst[], char src[], int start, int len)
{
char* sc = src + start;
//assert(dst != NULL&&src != NULL);
int n, i=0;
n = strlen(sc);
if (n < len) //拷贝len个
{
len = n;
}
while (len)
{
dst[i] = sc[i];
len--;
i++;
}
dst[i] = ' ';
}
相关文章推荐
- 用函数实现乘法口诀表,其中口诀表的行数和列数是自己指定
- 《Python基础教程》学习笔记 Chp7 更加抽象
- 字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20。
- 求闰年的!!!
- (T.T) 打印100到200之间的素数
- 按位取反
- ccah-500 第9题 How would you tune your io.sort.mb value to achieve maximum memory to disk I/O ratio?
- 乘法口诀 (第一次写博客~~~~)
- Android 数据存储
- 第14周项目2-两个成员的类模板1
- Jenkins怎么启动和停止服务
- SVProgressHUD的使用
- 第13周项目2—动物这样叫 (3)
- 数据库基本知识
- 后台发送http请求 类
- 微服务架构实战:Swagger规范RESTful API
- Java中ArrayList和LinkedList区别
- Recover Binary Search Tree
- 永久修改Jenkins启动端口的一种解决方法
- Runtime全方位装逼指南