用strtok写一个句子解析函数,分隔符为空格
时间: 2024-09-20 09:16:29 浏览: 55
`strtok`是C语言中用于字符串分割的标准库函数,通常用于将一个字符串按照指定的分隔符拆分成单词。如果你想编写一个简单的句子解析函数,分隔符设置为空格,你可以参考下面这个例子:
```c
#include <stdio.h>
#include <string.h>
// 定义一个静态变量存储当前正在处理的token
static char *current_token = NULL;
// 函数原型声明
char* strtok_r(char *str, const char *delim, char **save_ptr);
// 解析句子的函数
void parse_sentence(const char *sentence) {
current_token = sentence;
while (current_token != NULL) {
printf("Token: %s\n", current_token);
// 使用strtok_r获取下一个单词
current_token = strtok_r(NULL, " ", ¤t_token);
}
}
int main() {
const char *sentence = "这是一个包含空格的句子";
parse_sentence(sentence);
return 0;
}
```
在这个例子中,`parse_sentence`函数首先初始化`current_token`为输入的句子。然后在一个循环中,使用`strtok_r`逐次提取出以空格为分隔的单词,直到`current_token`为NULL,表示已遍历完整个句子。
阅读全文