news 2026/10/26 1:30:01

strtok函数:神奇的分割利器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
strtok函数:神奇的分割利器

简介:strtok函数是 C 语言标准库中用于分割字符串的函数。

作用是将一个字符串根据指定的分隔符分割成多个子字符串。

原型:char *strtok(char *str, const char *delim);

  • str是要分割的原始字符串。在第一次调用strtok时,str应指向待分割的字符串。在随后的调用中,str应该设置为NULL。

  • delim是一个包含所有分隔符的字符串。每次调用strtok时,它都会返回下一个分割出的子字符串。如果没有更多的子字符串可以检索,它将返回NULL。

使用示例

#include <string.h> #include <stdio.h> int main() { char str[80] = "This is - www.runoob.com - website"; const char s[2] = "-"; char *token; // 获取第一个子字符串 token = strtok(str, s); //printf("%s\n",str); //strtok会修改源字符串 // 继续获取其他的子字符串 while(token != NULL) { printf("%s\n", token); token = strtok(NULL, s); } return 0; }

输出结果

This is www.runoob.com website

注意事项

  • strtok函数会修改被操作的字符串,因此通常会对原始字符串进行复制,并确保这个副本是可修改的。

  • 在多线程环境中使用strtok需要特别小心,因为它使用静态变量来存储每次调用后的剩余字符串,这可能会导致线程安全问题。

  • 如果需要保持原始字符串不变,可以考虑使用其他函数,如strchr和sscanf的组合

应用:

使用strtok函数可以有效地处理字符串分割任务,尤其是在处理格式化的数据,如CSV 文件或网络协议中的数据时。掌握strtok的使用对于 C 语言程序员来说是非常有用的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 1:29:01

t3code 深度解析:Electron 套壳 CLI 的 AI 编程工具架构与实战

1. 从 t3code 这个名字说起&#xff1a;它到底想解决什么问题第一次看到 t3code 这个项目名&#xff0c;很多人会下意识把它当成又一个"套壳 AI 编辑器"。但如果你真的用过一段时间命令行里的 AI 编程工具&#xff0c;就会明白这个名字背后藏着一个很具体的痛点&…

作者头像 李华
网站建设 2026/10/26 1:26:07

java学习笔记(一)——String+ArrayList

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 1:12:45

SDC命令详解:SDC命令大全(持续更新)

相关阅读 SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html Tcl(Tool Command Language)最初是一种用于编写脚本的编程语言&#xff0c;广泛用于电子设计自动化(EDA)工具中&#xff0c;如Cadence的Virtuoso、Synopsys的Design Compiler等。SDC(Synop…

作者头像 李华
网站建设 2026/10/26 1:12:11

嵌入式面试:为什么四个项目被说成重复做了四遍?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华