strtok函数

article/2025/10/12 16:07:03

头文件

string.h

函数声明

char * strtok (char * str,const * sep)

返回值

分隔符之前字符串的首地址

用法

  • sep的参数是个字符串,定义了用作分隔符的字符集合
  • str指定一个字符串,它包含了一个或多个sep中分隔符分割的标记
  • strtok函数会找到str中的分隔符标记,并将其换成\0,返回该字符串的首地址(strtok会改变被操作的字符串)
  • strtok函数的第一个参数不为NULL,函数将找到str中第一个被分割的字符串,同时strtok还会记住该分割符的位置
  • strtok函数的第一个参数为NULL,函数将在之前strtok记住的分隔符的位置开始,查找下一个标记
  • 如果字符串中不存在更多的分隔符标记,则返回NULL

 

 

 

 

 

 

 

 

 

 例子

#include<stdio.h>
#include<string.h>
int main() {char str[] = "abc@def.efg";char str1[50] = { 0 };strcpy(str1, str);const char* sep = "@.";printf("%s\n", strtok(str1, sep));//打印分隔符分开的第一部分printf("%s\n", strtok(NULL, sep));//打印分隔符分开的第二部分printf("%s\n", strtok(NULL, sep));//打印分隔符分开的第三部分
}

 

 这在我们知道字符串长啥样的情况下

如果我们不知的字符串的样子,要想打印分割的部分,就应该用循环

#include<stdio.h>
#include<string.h>
int main() {char str[] = "abc@def.efg";char str1[50] = { 0 };strcpy(str1, str);//拷贝一份,防止原字符串被修改const char* sep = "@.";char* p = NULL;for (p = strtok(str1, sep);p != NULL;p=strtok(NULL,sep)) {printf("%s\n", p);}
}


http://chatgpt.dhexx.cn/article/DFQHdly7.shtml

相关文章

C语言strtok()函数详解

函数原型 char *strtok(char *str, char const *sep);第一次调用strtok函数时,这个函数将忽略间距分隔符并返回指向在str字符串找到的第一个符号的指针,丢掉分隔符sep,添加NULL字符结尾&#xff08;可以理解为用NULL替换了sep&#xff09;. 通过调用一系列的strtok函数,更多的…

数据库面试题——内连接与外连接、左连接与右连接的区别

内连接与外连接的区别: 1、连接结果不同 内连接的连接结果仅包含符合连接条件的行&#xff0c;参与连接的两个表都必须符合连接条件&#xff1b;而外连接的连接结果不仅包含了符合连接条件的行&#xff0c;同时还包括不符合自身条件的行&#xff0c;其中还包括左外连接、右外连…

sql中内连接和外连接的区别

对于两张表&#xff0c;外连接和内连接的区别在于&#xff1a; 内连接&#xff1a;只显示两表id匹配的左外连接&#xff1a;显示join左边的表的所有数据&#xff08;不管两表是否匹配&#xff09;&#xff0c;对于不匹配的部分都用NULL显示右外连接&#xff1a;与左外连接相反…

左连接 ,右连接,内连接和全外连接的4者区别

基本定义&#xff1a; left join &#xff08;左连接&#xff09;&#xff1a;返回包括左表中的所有记录和右表中连接字段相等的记录。 right join &#xff08;右连接&#xff09;&#xff1a;返回包括右表中的所有记录和左表中连接字段相等的记录。 inner join &#xff08;等…

数据库中的内连接、自然连接和外连接的区别

数据中的连接join分为内连接、自然连接、外连接&#xff0c;外连接又分为左外连接、右外连接、全外连接 当然&#xff0c;这些分类都是在连接的基础上&#xff0c;是从两个表中记录的笛卡尔积中选取满足连接的记录。笛卡尔积简单的说就是一个表里的记录要分别和另外一个表的记…

交叉连接、内连接和外连接的区别及使用方式

一、交叉连接、内连接、外连接的区别 交叉连接又叫’笛卡尔积’&#xff0c;它是指不使用任何条件&#xff0c;直接将一个表的所有记录和另一个表中的所有记录一一匹配。内连接 则是只有条件的交叉连接&#xff0c;根据某个条件筛选出符合条件的记录&#xff0c;不符合条件的记…

内连接与外连接区别

内连接&#xff1a;指连接结果仅包含符合连接条件的行&#xff0c;参与连接的两个表都应该符合连接条件。 外连接&#xff1a;连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。 左外连接&#xff1a;左边表数据行全部保留…

mysql 内连接、自然连接、外连接的区别

数据库中的内连接、自然连接、外连接 注意&#xff1a;mysql不支持全外连接&#xff0c;using和on的区别在于需要连接的两个表的属性名相同的时候使用using和on效果一样&#xff0c;而属性名不同的时候必须使用on 数据库中的连接join分为内连接、自然连接、外连接&#xff0c…

mysql 自然连接、内连接、外连接的区别

数据库中的连接join分为内连接、自然连接、外连接&#xff0c;外连接又分为左外连接、右外连接、全外连接(注意&#xff1a;mysql不支持全外连接) 首先&#xff0c;我们先来建两张表&#xff0c;第一张表命名为kemu&#xff0c;第二张表命名为score&#xff1a; 一、left join…

内连接与外连接的区别

有两个表A和表B。表A结构如下&#xff1a;Aid&#xff1a;int&#xff1b;标识种子&#xff0c;主键&#xff0c;自增IDAname&#xff1a;varchar数据情况&#xff0c;即用select * from A出来的记录情况如下图1所示&#xff1a;图1:A表数据表B结构如下&#xff1a;Bid&#xf…

内连接、左外连接与右外连接的区别及作用介绍

SQL语句当中比较难的部分就有今天要给朋友们分享的这个&#xff0c;inner join, left join 和 right join他们三个的作用以及区别是什么。 顺便也会把交叉连接一起分享了。 上面会分享一些基本的语法与使用&#xff0c;下方会详细介绍 1&#xff09;交叉连接&#xff0c;又称笛…

图解数据库左连接、右连接、内连接、外连接、全连接的区别

数据库连表方式 内连接 &#xff1a;inner 、inner join外连接 &#xff1a;outer join 左外连接 &#xff1a;left outer join左连接 &#xff1a;left join右外连接 right outer join右连接&#xff1a; right join 全连接 full join 、union 准备 现在有2张表&#xff0c…

内链接和外连接的区别

内连接&#xff0c;也被称为自然连接&#xff0c;只有两个表相匹配的行才能在结果集中出现。返回的结果集选取了两个表中所有相匹配的数据&#xff0c;舍弃了不匹配的数据。由于内连接是从结果表中删除与其他连接表中没有匹配的所有行&#xff0c;所以内连接可能会造成信息的丢…

数据库的内连接和外连接的区别

内连接&#xff1a;指连接结果仅包含符合连接条件的行&#xff0c;参与连接的两个表都应该符合连接条件。 外连接&#xff1a;连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。 左外连接&#xff1a;左边表数据行全部保留…

内连接和外连接区别

在之前&#xff0c;我对MSSQL中的内连接和外连接所得出的数据集不是很清楚。这几天重新温习了一下SQL的书本&#xff0c;现在的思路应该是很清楚了&#xff0c;现在把自己的理解发出来给大家温习下。希望和我一样对SQL的连接语句不太理解的朋友能够有所帮助。&#xff08;发这么…

数据库中的内连接、自然连接、和外连接的区别

数据中的连接join分为内连接、自然连接、外连接&#xff0c;外连接又分为左外连接、右外连接、全外连接 当然&#xff0c;这些分类都是在连接的基础上&#xff0c;是从两个表中记录的笛卡尔积中选取满足连接的记录。笛卡尔积简单的说就是一个表里的记录要分别和另外一个表的记…

左右连接和内连接的区别

首先&#xff0c;我这有两个表&#xff0c;里面的数据去这样的&#xff1a; 表和数据准备好了&#xff0c;接下来进行操作&#xff1a; &#xff08;1&#xff09;先说左连接查询&#xff1a; 左连接&#xff1a;在 LEFT JOIN 左边的表里面数据全被全部查出来&#xff0c;右边的…

内连接和外连接

内连接和外连接都是表的连接方式&#xff08;将两张表连接起来&#xff09; 内连接inner join 外连接&#xff1a;左连接 left join&#xff0c;右连接 right join 1.笛卡尔积 表一和表二做笛卡尔积&#xff0c;就是将表一的每一行和表二的每一行进行拼接 所有的这些连接…

数据库-内连接与外连接的区别(举例说明)

内连接&#xff0c;也被称为自然连接&#xff0c;只有两个表相匹配的行才能在结果集中出现。返回的结果集选取了两个表中所有相匹配的数据&#xff0c;舍弃了不匹配的数据。由于内连接是从结果表中删除与其他连接表中没有匹配的所有行&#xff0c;所以内连接可能会造成信息的丢…

内连接与外链接的区别

我们要实习了&#xff0c;实习面试过了&#xff0c;但是由于考试原因经理让我在学校巩固一些SQL知识。于是我就开始了&#xff0c;做题之旅&#xff0c;一天做几个巩固一下&#xff0c;好久没做了&#xff0c;刚做就来问题了。外链接与内连接我居然不知道他们之间的原理&#x…