使用strtok 举个例子吧
时间: 2023-07-22 08:56:45 浏览: 83
当使用 `strtok` 函数时,需要将一个字符串分割成多个标记(tokens)。下面是一个简单的示例,展示了如何使用 `strtok` 函数来分割一个句子成为单词:
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[] = "Hello, World! This is an example sentence.";
char delimiters[] = " ,.!"; // 分隔符包括空格、逗号和句号
char* token;
token = strtok(sentence, delimiters); // 获取第一个标记
while (token != NULL) {
printf("%s\n", token); // 打印当前标记
token = strtok(NULL, delimiters); // 获取下一个标记
}
return 0;
}
```
在上述示例中,我们有一个句子字符串 `sentence`,包含了一个简单的句子:"Hello, World! This is an example sentence."。我们使用 `strtok` 函数将这个句子分割成单词,并打印出每个单词。
我们定义了一个 `delimiters` 字符串,其中包含了分隔符,包括空格、逗号和句号。然后,我们调用 `strtok` 函数来获取第一个标记,传递给它句子字符串和分隔符字符串。`strtok` 函数返回第一个标记,并用空字符替换分隔符。
接下来,我们使用一个循环来处理每个标记。在循环中,我们首先打印当前标记,然后使用 `strtok` 函数以 `NULL` 作为第一个参数来获取下一个标记。每次调用 `strtok` 函数时,我们将 `NULL` 作为第一个参数,以便它继续在同一个字符串上继续分割。当没有更多标记时,`strtok` 函数返回 `NULL`,循环终止。
运行上述示例代码,你将看到以下输出:
```
Hello
World
This
is
an
example
sentence
```
这个示例展示了如何使用 `strtok` 函数将一个句子分割成多个单词。你可以根据自己的需求修改分隔符字符串和要分割的句子字符串。希望这个例子对你有帮助!如果有任何问题,请随时提问。
阅读全文