📜  在空格处分割字符串 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:23:35.766000             🧑  作者: Mango

在空格处分割字符串 - C 编程语言

在 C 语言中,字符串是以字符数组的形式存储的,可以使用指针来操作字符串。字符串的分割是常见的字符串操作,本文将介绍在空格处分割字符串的方法。

方法一:使用 strtok() 函数

strtok() 函数可以将字符串按照指定的分隔符进行分割,其原型如下:

char *strtok(char *str, const char *delim);

其中,str 是要分割的字符串,delim 是包含分隔符的字符串。strtok() 函数返回被分割后的第一个子字符串,如果没有找到分割符,返回传入字符串的副本。使用 strtok() 函数进行字符串分割的示例代码如下:

#include <stdio.h>
#include <string.h>

int main() {
    char s[] = "hello world";
    char *token;

    token = strtok(s, " ");
    while (token != NULL) {
        printf("%s\n", token);
        token = strtok(NULL, " ");
    }

    return 0;
}

上述代码将字符串 hello world 按照空格进行分割,并输出分割后的子字符串。

方法二:使用 sscanf() 函数

scanf()sscanf() 函数可以从输入流和字符数组中读取数据,它们可以使用格式化字符串来控制读取过程。在字符串分割中,我们可以使用 sscanf() 函数来按照空格分割字符串,示例代码如下:

#include <stdio.h>

int main() {
    char s[] = "hello world";
    char a[256], b[256];

    sscanf(s, "%s %s", a, b);
    printf("%s\n%s\n", a, b);

    return 0;
}

上述代码将字符串 hello world 按照空格进行分割,并将分割后的子字符串分别存储在数组 ab 中。

总结

上述介绍了两种在空格处分割字符串的方法,即使用 strtok() 函数和 sscanf() 函数。在实际的应用中,可以根据具体情况选择合适的方法进行字符串分割。