strtok函数c语言
时间: 2024-12-26 08:21:52 浏览: 0
### C语言 `strtok` 函数使用方法
#### 函数原型
`strtok()` 是用于解析字符串的库函数,在 `<string.h>` 中声明。该函数可以按照指定分隔符来拆分字符串[^2]。
```c
#include <stdio.h>
#include <string.h>
int main(void) {
char sentence[] = "This is a test string.";
const char delimiter[7] = " ";
char *token;
printf("The original string: %s\n", sentence);
/* 获取第一个子串 */
token = strtok(sentence, delimiter);
/* 遍历并打印所有子串 */
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, delimiter);
}
return 0;
}
```
这段代码展示了如何利用 `strtok()` 来分解由空格分隔的一句话。每次调用都会返回下一个被找到的标记直到没有更多的标记为止。当首次调用此函数时需提供要分析的字符串以及定界字符;之后再次调用则应传入 `NULL` 和相同的定界字符列表以继续处理同一原始输入序列中的剩余部分[^4]。
值得注意的是,由于 `strtok()` 修改了原字符串(通过在其间插入 `\0`),因此如果不想改变源数据,则应该先复制一份副本再操作。另外对于多线程环境下的安全考虑建议采用其可重入版本即 `strtok_r()` 函数[^3]。
阅读全文