用C语言写一个字符串截取函数,要求入参输入截取的开始和结束索引
时间: 2024-05-11 12:14:10 浏览: 90
C语言实现字符串截取
4星 · 用户满意度95%
以下是一个简单的字符串截取函数,可以截取任何字符串中的子串并返回结果。该函数需要两个整数参数作为开始和结束索引,以确定要截取的子串的范围。注意,该函数不会修改原始字符串,而是返回一个新的字符串。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* substring(char* str, int start, int end) {
int len = strlen(str);
if (start < 0 || start > len || end < 0 || end > len || start > end) {
return NULL;
}
char* sub = (char*)malloc(sizeof(char) * (end - start + 2));
if (sub == NULL) {
return NULL;
}
int i, j;
for (i = start, j = 0; i <= end; i++, j++) {
sub[j] = str[i];
}
sub[j] = '\0';
return sub;
}
int main() {
char* str = "Hello, world!";
printf("%s\n", substring(str, 3, 7)); // "lo, w"
printf("%s\n", substring(str, 0, 4)); // "Hello"
printf("%s\n", substring(str, 7, 12)); // "world"
return 0;
}
```
阅读全文