C++ strtok
时间: 2023-10-14 17:05:12 浏览: 97
strtok函数C实现
5星 · 资源好评率100%
C语言中的strtok函数是用来分割字符串的。在使用strtok函数之前,我们需要包含<string.h>头文件。strtok函数使用一个指定的分隔符将字符串分割成多个子字符串,并返回分割后的第一个子字符串的指针。
下面是一个使用strtok函数的示例代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "This is a sample string";
char *token;
// 获取第一个子字符串
token = strtok(str, " ");
// 继续获取其他的子字符串
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, " ");
}
return 0;
}
```
输出结果为:
```
This
is
a
sample
string
```
上述代码中,我们首先使用strtok函数将字符串str按照空格进行分割,并将第一个子字符串的指针赋给token。然后,我们通过循环继续获取其他的子字符串,直到token为NULL为止。
需要注意的是,strtok函数会破坏被分割字符串的完整性,调用前和调用后的字符串已经不一样了。如果需要保持原字符串的完整,可以使用其他方法,比如结合strchr和sscanf函数来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C/C++字符串函数strtok()详解](https://blog.csdn.net/ostarjennyo/article/details/127676519)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C++ strtok函数详解](https://blog.csdn.net/weixin_45525272/article/details/114164364)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文