c语言用空格拆分字符串
时间: 2024-10-25 07:15:55 浏览: 19
在C语言中,如果你想要按照空格拆分字符串并存储结果到数组或其他数据结构中,可以使用`strtok()`函数配合循环。`strtok()`函数会在字符串中找到第一个空格字符,并返回该位置的第一个单词作为后续处理的起始点。
下面是一个简单的示例,假设我们有一个包含空格的字符串`str`,并且要将其拆分成单独的单词:
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORDS 5 // 假设最多有5个单词
int main() {
char str[] = "Hello World This is a test";
char *token; // 存储当前处理的单词
char word[MAX_WORDS][50]; // 容纳最多5个单词
int i = 0;
token = strtok(str, " "); // 分割符为" "
while (token != NULL) { // 当找到单词时继续处理
strcpy(word[i], token); // 将单词复制到word数组
printf("Word %d: %s\n", i + 1, word[i]);
token = strtok(NULL, " "); // 继续查找下一个单词
i++;
}
return 0;
}
```
在这个例子中,`strtok()`会返回连续的单词直到遇到字符串结束或者没有更多的单词为止。注意,`strtok()`会修改原字符串,所以在处理完所有单词后,`token`会变为`NULL`。
阅读全文