阅读量:0
在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()
来提取子字符串。