c语言实现substr
时间: 2023-07-13 11:13:13 浏览: 95
使用C语言解决字符串全排列问题
5星 · 资源好评率100%
在C语言中,可以通过指针和字符数组来实现字符串的操作,包括substring。下面是一个简单的实现方法:
```c
#include <stdio.h>
#include <string.h>
// 实现substr函数,参数分别为原字符串、起始位置和截取长度
void substr(char *src, int start, int len, char *dest) {
int src_len = strlen(src);
// 起始位置不合法,直接返回空字符串
if (start >= src_len) {
dest[0] = '\0';
return;
}
// 计算截取长度
int sub_len = (len < src_len - start) ? len : src_len - start;
// 复制截取的子串到dest数组中
for (int i = 0; i < sub_len; i++) {
dest[i] = src[start + i];
}
// 以null字符结尾
dest[sub_len] = '\0';
}
int main() {
char src[] = "hello world";
char dest[20];
// 截取从第3个字符开始的5个字符
substr(src, 2, 5, dest);
printf("%s\n", dest); // 输出:llo w
return 0;
}
```
该实现方法通过指针操作实现了字符串的截取,对于边界情况也做了特殊处理。
阅读全文