c语言

c语言怎么从字符串中提取字符串

小亿
182
2024-08-01 16:40:15
栏目: 编程语言

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

0
看了该问题的人还看了