c语言字符串被任意数目空格分开
时间: 2024-10-08 11:20:36 浏览: 13
在 C 语言中,处理字符串并将其分割成若干部分,其中可能包含任意数量的空格,通常需要使用 `strtok` 函数结合循环结构。`strtok` 函数主要用于将字符串分解成一系列子字符串,每次调用都会从上次停止的位置开始搜索下一个子串。
下面是一个简单的示例,展示如何使用 `strtok` 分割字符串:
```c
#include <stdio.h>
#include <string.h>
void split_string(char *input, char delimiter) {
char *token = strtok(input, " ");
while (token != NULL) {
printf("Token: %s\n", token);
token = strtok(NULL, " ");
}
}
int main() {
char str[] = "Hello World, This is a test string.";
split_string(str, ' ');
return 0;
}
```
在这个例子中,我们首先定义了一个 `split_string` 函数,它接受一个字符串和一个分隔符(这里是空格)。函数内部,`strtok` 会返回每个由空格分隔的部分,并在下一次调用时跳过已处理过的部分。当所有子串都被找到并打印后,`strtok` 返回 `NULL` 表示结束。