在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()
來提取子字符串。