C语言根据开始位置和结束位置截取字符串的函数
时间: 2023-10-28 09:43:54 浏览: 473
在C语言中,你可以使用`memcpy`函数来根据开始位置和结束位置截取字符串。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void substring(const char *str, int start, int end, char *result) {
int length = end - start + 1;
memcpy(result, str + start, length);
result[length] = '\0';
}
int main() {
char str[] = "Hello, World!";
char result[10]; // 存储截取后的字符串
substring(str, 7, 11); // 从索引7开始截取到索引11
printf("Substring: %s\n", result); // 输出截取后的字符串
return 0;
}
```
在上述代码中,我们定义了一个名为`substring`的函数,该函数接受原始字符串`str`、开始位置`start`、结束位置`end`和存储结果的字符串`result`作为参数。函数内部计算截取的长度,并使用`memcpy`函数从指定开始位置开始复制指定长度的字符到`result`字符串中,并在最后添加一个空字符`\0`来表示字符串的结束。
在`main`函数中,我们使用`substring`函数从字符串的索引7开始截取到索引11(包括索引11),并将结果存储在`result`数组中。然后,我们输出截取后的字符串。
运行上述代码,输出如下:
```
Substring: World
```
在这个例子中,我们使用了开始位置7和结束位置11来截取了原始字符串中的一部分,得到了截取后的子字符串"World"。你可以根据需要调整开始位置和结束位置来获取你想要的子字符串。
阅读全文