strtok的详解与使用

简介: strtok的详解与使用

字符串在特定的字符时进行分隔

使用规则

1.标题delimiters参数是个字符串,定义了用作分隔符的字符集合

2.第一个参数指定一个字符串,它包含了0个或者多个由delimiters字符串中一个或者多个分隔符分割的标记。

3.strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。)

4.strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。

5.strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标记。

6.如果字符串中不存在更多的标记,则返回 NULL 指针。

样例

用while

#include <stdio.h>
#include <string.h>
int main ()
{
  char str[] ="- This, a sample string.";
  char * pch;
  printf ("Splitting string \"%s\" into tokens:\n",str);
  pch = strtok (str," ,.-");
  while (pch != NULL)
 {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.-");
 }
  return 0;
}

使用for

#include <stdio.h>
#include <string.h>
int main()
{
  char  p[] = "2922131914@qq.com";
  const char* sep = ".@";
  char arr[30];
  char* str = NULL;
  strcpy(arr, p);//将数据拷贝一份,处理arr数组的内容
  for (str = strtok(arr, sep); str != NULL; str = strtok(NULL, sep))
  {
    printf("%s\n", str);
  }
  return 0;
}

运行结果

目录
相关文章
C实现字符操作函数,strcpy, strcat, strcmp, memcpy
C实现字符操作函数,strcpy, strcat, strcmp, memcpy
43 0
|
5月前
|
C语言
深入理解字符串函数(strstr、strtok、strerror)(二)
深入理解字符串函数(strstr、strtok、strerror)(二)
|
算法 C语言
你应该知道的C语言干货(4)(strncpy,strncmp,strncat,strstr,strtok)
该库函数作用和strcpy很相似,不同点在于
63 0
你应该知道的C语言干货(4)(strncpy,strncmp,strncat,strstr,strtok)
strcat与strncat的实现与比较
strcat与strncat的实现与比较
65 0
字符串函数strncmp
字符串函数strncmp
112 1
C库函数 ——strstr、strtok的详解
C库函数 ——strstr、strtok的详解
127 0
字符串函数_strtok()
strtok是用来切割字符串的,引用头文件为#include<string.h> strtok函数的声明:
字符串函数__strnpy(),strncat(),strncmp()
strcpy,strcat,strcmp-------长度不受限制的字符串函数(跟长度无关) strncpy,strncat,strncmp--------长度受限制的字符串函数
字符串函数__strstr
str1和str2字符串中一定要有'\0',不然不能正确从字符串查到子串
详解比较古怪的字符串拆分函数:strtok函数
详解比较古怪的字符串拆分函数:strtok函数
172 0
详解比较古怪的字符串拆分函数:strtok函数