函数原型:

char *strtok(char * strToken, const char *strDelimit)

参数说明:

strToken:源字符串,即待分割的串

strDelimit:strToken会根据这里的每个字符进行分割

返回值:

指向第一段被截取出来的字符串的指针,如果没有找到,则返回NULL。

调用说明:

(1)第一次调用strtok时,第一个参数是strToken。以后再调用时,第一个参数必须是NULL

(2)调用strtok后,源字符串会被修改

(3)strtok不是一个线程安全的函数

  1:    char str[] = "now # is the time for all # good men to come to the # aid of their country";
  2:    char delims[] = "#";
  3:    char *result = NULL;
  4:    result = strtok( str, delims );
  5:    while( result != NULL )
  6:    {
  7:        printf( "result is \"%s\"\n", result );
  8:        result = strtok( NULL, delims );
  9:    }  

 

 

这个函数的应用:

HDU 2526 和 HDU 1106

#include<cstdio>
#include<cstring>
#include<algorithm>

#define MAXN 1010

using namespace std;

char str[MAXN],*p;
int  num[MAXN];

int main()
{
	while (~scanf("%s",str))
	{
		int cnt=0;
		p=strtok(str,"5");
		while (p)
		{
			num[cnt++]=atoi(p);
			p=strtok(NULL,"5");
		}

		sort(num,num+cnt);

		for(int i=0;i<cnt;i++)
			if(i+1==cnt) printf("%d\n",num[i]);
			else		 printf("%d ",num[i]);

	}
	return 0;
}

#include<cstdio>
#include<cstring>
#include<cctype>

#define MAXN 150

using namespace std;

char str1[MAXN],str2[MAXN];


int main()
{
	int t;
	char *p;
	scanf("%d",&t);
	getchar();
	while (t--)
	{
		int cnt=0;
		gets(str1);
		p=strtok(str1," ");

		while (p)
		{
			str2[cnt++]=toupper(*p);
			p=strtok(NULL," ");
		}
		str2[cnt]=0;
		printf("%s\n",str2);
	}
	return 0;
}

关于strtok函数的更多相关文章

  1. shell脚本调用C语言之字符串切分之strtok函数

    今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期 ...

  2. strtok函数 分类: c++ 2014-11-02 15:24 214人阅读 评论(0) 收藏

    strtok函数是cstring文件中的函数 strtok函数是cstring文件中的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...

  3. strtok函数读写冲突问题

    先上测试代码 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int a ...

  4. 字符串函数之Strtok()函数

    Strtok()函数详解:   该函数包含在"string.h"头文件中 函数原型: char* strtok (char* str,constchar* delimiters ) ...

  5. STRTOK函数和STRTOK_R函数

    STRTOK函数和STRTOK_R函数 注:本文转载自博客园,感谢作者整理! 1.一个应用实例 网络上一个比较经典的例子是将字符串切分,存入结构体中.如,现有结构体 typedef struct pe ...

  6. popen strtok 函数的使用

    FILE * popen ( const char * command , const char * type ); int pclose ( FILE * stream );   type 参数只能 ...

  7. [转载]strtok函数和strtok_r函数

    1.一个应用实例 网络上一个比较经典的例子是将字符串切分,存入结构体中.如,现有结构体 typedef struct person{     char name[25];     char sex[1 ...

  8. 温故而知新-strtok函数

    温故而知新-strtok函数 记得之前没见过这个函数,是把字符串分割成更小的字符串 来个例子就是比较鲜明了 $string = "Hello world. Beautiful day tod ...

  9. 用strtok函数分割字符串

    用strtok函数分割字符串 需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数. //Body response 内容: <BODY><; PRE&g ...

  10. lr中用strtok函数分割字符串

    需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数. ,6,5,0,4,0,3,0,3,2,0,0,0,1 用web_reg_save_param取出“8,7,5,15, ...

随机推荐

  1. mvc 前台传入后台

    转自:http://blog.csdn.net/huangyezi/article/details/45274553 一个很简单的分部视图,Model使用的是列表,再来看看调用该分部视图的action ...

  2. (转载)js调用打印机 打印整体或部分

    本文转载自:https://www.cnblogs.com/lfhy/p/6802781.html 以下为原文内容: 有时前端的项目中需要添加打印的功能,首先要知道打印分为整体打印和局部打印两种,而局 ...

  3. scala 集合类型

    Iterable 是序列(Seq), 集(Set) 映射(Map)的特质 序列式有序的集合如数组和列表 集合可以通过== 方法确定对每个对象最多包含一个 映射包含了键值映射关系的集合 列表缓存: 使用 ...

  4. VSCode运行JavaScript代码

    方式一(推荐): 安装插件 open in window, 然后option+b

  5. 【gcc】更新下载编译gcc遇到的各种问题

    帮学长的oj升级gcc版本.遇到了贼多问题.. [悲惨的开始] 安装gcc版本推荐ustc的mirror的下载,超快der... https://mirrors.ustc.edu.cn/gnu/gcc ...

  6. Reqests----Get请求之参数化

    一.环境安装 >>pip install requests 注意:pip很容易就会版本升级,如果用python3的,请使用pip3 install requests 1.初始化版本 2.把 ...

  7. java oop第11章_反射、BaseDao的进一步改造

      引言:从Java5开始,Java中引用了一个新的概念反射,当程序运行时,能动态感知到程序中拥有的所以信息,这个获取信息的过程是采用反射机制来完成. 一.       Class类: Class类用 ...

  8. Samza系统架构

  9. ARM 汇编 内存访问指令

    一. 单个寄存器操作读写内存 内存访问指令格式:<opcode><cond> Rd, [Rn] Rn 中保存的是一个内存的地址值 1. 内存写指令  [ str,strb,st ...

  10. 读书笔记一、numpy基础--创建数组

    创建ndarray   (1)使用array函数 接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的numpy数组. import numpy as np #将一个由数值组成列表作为 ...