c++中substr函数
时间: 2023-11-06 21:09:29 浏览: 161
C语言中没有内置的substr函数,但我们可以使用字符串处理函数来实现类似功能。一个常用的方法是使用strncpy函数配合字符串长度函数strlen来截取子字符串。下面是一个示例:
```c
#include <stdio.h>
#include <string.h>
void substr(const char* source, int start, int length, char* result) {
strncpy(result, source + start, length);
result[length] = '\0'; // 添加字符串结束符
}
int main() {
char source[] = "Hello World";
char result[10]; // 存储结果的字符数组
substr(source, 6, 5, result); // 从位置6开始截取长度为5的子字符串
printf("Result: %s\n", result); // 输出结果: "World"
return 0;
}
```
在上面的示例中,我们定义了一个substr函数,它接受源字符串、起始位置、长度以及结果存储数组作为参数。使用strncpy函数将源字符串中指定位置的字符复制到结果数组中,并手动添加字符串结束符'\0'。最后,我们在主函数中调用substr函数,并输出结果。
请注意,在使用这种方法时,需要确保结果存储数组足够大,以避免溢出。另外,起始位置和长度参数应根据实际情况进行合理的检查,以确保不会访问超出字符串范围的位置。
阅读全文