c 实现substring
时间: 2024-04-29 14:21:48 浏览: 28
在 C 语言中,可以通过指针的方式实现字符串的子串操作。
以下是一个简单的示例代码,用于实现求字符串中指定位置开始的指定长度的子串:
```c
#include <stdio.h>
#include <string.h>
void substring(char *dest, char *src, int start, int len) {
int i;
for (i = 0; i < len && src[start+i] != '\0'; i++) {
dest[i] = src[start+i];
}
dest[i] = '\0';
}
int main() {
char str[] = "Hello, World!";
char sub[10];
substring(sub, str, 7, 5);
printf("%s\n", sub);
return 0;
}
```
在这个例子中,我们定义了一个 `substring` 函数,该函数接收三个参数:目标字符串、源字符串、开始位置和长度。在函数体中,我们使用了一个 for 循环,从指定的开始位置开始,将源字符串中的字符逐个复制到目标字符串中,直到达到指定的长度或源字符串结束。最后,我们在目标字符串的末尾添加了一个空字符,以确保它是一个有效的 C 字符串。
在 main 函数中,我们声明了一个源字符串 `str` 和一个目标字符串 `sub`,并调用 `substring` 函数来获取 `str` 中从第 7 个字符开始,长度为 5 的子串。最终,我们将子串打印到控制台上。
输出结果为:
```
World
```
希望这个示例能够帮助你实现 C 中的子串功能。