📅  最后修改于: 2023-12-03 15:23:35.766000             🧑  作者: Mango
在 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
按照空格进行分割,并将分割后的子字符串分别存储在数组 a
和 b
中。
上述介绍了两种在空格处分割字符串的方法,即使用 strtok()
函数和 sscanf()
函数。在实际的应用中,可以根据具体情况选择合适的方法进行字符串分割。