c语言substring截取字符串
时间: 2023-10-26 09:22:08 浏览: 133
C语言中没有内置的substring函数,但可以通过指针和数组来实现字符串截取的功能。
下面是一个例子,演示如何使用指针和数组来截取字符串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char sub[7]; // 存储截取后的字符串
char *ptr = str + 7; // 指向截取的起始位置
strncpy(sub, ptr, 6); // 截取 6 个字符
sub[6] = '\0'; // 手动加上字符串结尾符
printf("原始字符串: %s\n", str);
printf("截取后的字符串: %s\n", sub);
return 0;
}
```
输出结果为:
```
原始字符串: Hello, World!
截取后的字符串: World!
```
在这个例子中,我们先定义了一个原始字符串 `str` 和一个用于存储截取后字符串的数组 `sub`。然后,我们定义了一个指针 `ptr`,它指向截取的起始位置。在这个例子中,我们将 `ptr` 指向原始字符串中的第 7 个字符,也就是字符 'W' 的位置。
接着,我们使用 `strncpy()` 函数截取了 `ptr` 指向的位置开始的 6 个字符,并将它们复制到 `sub` 数组中。由于 `strncpy()` 不会自动添加字符串结尾符,因此我们需要手动将其添加到 `sub` 数组的结尾处。
最后,我们使用 `printf()` 函数输出原始字符串和截取后的字符串。
阅读全文