在C语言中,可以使用标准库函数sscanf()
或者自定义函数来从字符串中提取子字符串。以下是使用sscanf()
函数的示例代码:
#include <stdio.h>
int main() {
char str[] = "Hello, World! This is a test string.";
char subtr[20]; // 存放提取的子字符串
int start_index = 7; // 子字符串开始的索引
int length = 5; // 子字符串的长度
sscanf(str + start_index, "%20s", subtr); // 从指定的索引开始提取子字符串
printf("The sub string is: %s\n", subtr);
return 0;
}
在这个示例中,我们使用sscanf()
函数从str
字符串中提取了从索引7开始的长度为5的子字符串。
你也可以自定义一个函数来提取子字符串,以下是一个简单的示例:
#include <stdio.h>
void substring(char s[], int start, int len, char sub[]) {
int i;
for (i = 0; i < len && s[start + i] != '\0'; i++) {
sub[i] = s[start + i];
}
sub[i] = '\0';
}
int main() {
char str[] = "Hello, World! This is a test string.";
char subtr[20]; // 存放提取的子字符串
int start_index = 7; // 子字符串开始的索引
int length = 5; // 子字符串的长度
substring(str, start_index, length, subtr);
printf("The sub string is: %s\n", subtr);
return 0;
}
以上代码演示了一个自定义的函数substring()
来提取子字符串。