用C语言字符串函数,获取字符串中间指定部分
时间: 2024-03-20 09:45:06 浏览: 16
可以使用C语言中的字符串函数`strncpy()`和`strncat()`来获取字符串中间指定部分。
假设字符串为`str`,要获取从第`start`个字符开始,长度为`len`的子字符串,可以按照以下步骤进行操作:
1. 定义一个新字符串`sub_str`,长度为`len+1`,并将其第`len+1`个字符设置为`\0`,以确保新字符串正确地以空字符结尾。
```
char sub_str[len+1];
sub_str[len] = '\0';
```
2. 使用`strncpy()`函数将`str`中从第`start`个字符开始的`len`个字符复制到`sub_str`中。
```
strncpy(sub_str, str+start, len);
```
3. 可以使用`strncat()`函数将`sub_str`中的内容添加到新的字符串中,或者使用`sub_str`作为需要的子字符串。
```
char new_str[100];
new_str[0] = '\0'; // 确保新字符串为空字符串
strncat(new_str, sub_str, len);
```
完整代码如下:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
int start = 2;
int len = 5;
char sub_str[len+1];
sub_str[len] = '\0';
strncpy(sub_str, str+start, len);
char new_str[100];
new_str[0] = '\0';
strncat(new_str, sub_str, len);
printf("Original string: %s\n", str);
printf("Substring: %s\n", sub_str);
printf("New string: %s\n", new_str);
return 0;
}
```
输出结果为:
```
Original string: Hello, World!
Substring: llo,
New string: llo,
```