首页 > 其他分享 >strtok()的使用

strtok()的使用

时间:2024-07-03 20:58:15浏览次数:11  
标签:strtok int char token str 使用 include

strtok()

所属头文件:#include <string.h>

函数原型:

char * strtok ( char * str, const char * delimiters);

通过给定标志字符串delimiters分割目标字符串,目标字符串str不能是常量字符串。若分割成功,则返回第一段子串;若还可以继续分割,则返回第二段字串。

返回的char * 不需要用户释放,因为该函数并没有malloc内存。

案例一

在MQTT中主题的格式一般是这样的:livingroom/device/temperature,需要逐个分割出来,就可以用来strtok()函数。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
    char str[] = {"livingroom/device/temperature"};

    char *token = strtok(str, "/");
    while (token)
    {
        printf("%s  ", token);
        token = strtok(NULL, "/");
    }
    printf("\n");

    return 0;
}

结果:

案例二

在自定义数据格式:A||B||C,需要将它们分割出来,也可以用到strtok()函数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
    char str[] = {"A||B||C"};

    char *token = strtok(str, "||");
    while (token)
    {
        printf("%s  ", token);
        token = strtok(NULL, "||");
    }
    printf("\n");

    return 0;
}

结果:

标签:strtok,int,char,token,str,使用,include
From: https://www.cnblogs.com/caojun97/p/18282518

相关文章

  • Qt Creator配置以及使用Git
    QtCreator配置以及使用Git引言一、QtCreator配置git二、QtCreator使用git2.1创建git仓库orgit项目导入Qt2.2配置远端,拉代码or上传代码2.3查看更改2.4更多细节可参考官方文档三、参考的博客以及文档引言QtCreator配置Git之后,可以看作是一个拥有图形用户......
  • 使用IDEA给项目打jar包
    使用IDEA给项目打jar包参考地址:https://www.cnblogs.com/blog5277/p/5920560.html感谢作者一、准备一个Java项目并先看看效果​ 只想打包,就跳过这一步:一、准备一个Java项目并先看看效果。​ 如果启动jar包遇到报错:无法找到/加载主类就去看看第二步开头。1、找一个项目......
  • 使用Charles实现Android抓包,附带Charles破解教程
    1.下载Charles网址:下载Charles安装完成后的界面:2.配置http抓包点击该选项可以看到代理的ip和端口号然后在手机的wifi中配置代理(手机和电脑要在同一局域网),代理选择手动,并填入ip和端口号电脑出现允许代理的提示,点击Allow即可到此处表示已经可以抓http的手机包......
  • 使用G TOKEN 做市值管理教程
    作为项目方,交易所或者币种没有交易量,交易深度不够,K线不好看,很容易造成用户的流失,那么市值管理机器人就很有必要,可以帮助项目方进行市值管理,无需长期盯盘,但有些市值机器人跑k线不够自然真实,K线出现瞬间离谱的猛拉猛砸,这样很难吸引新的用户,GTOKEN市值机器人完美的解决了这个问......
  • 在使用基于Pytorch的DeeplabV3+模型(Bubbliiiing)训练以及预测时遇到的问题
    原博:憨批的语义分割重制版9——Pytorch搭建自己的DeeplabV3+语义分割平台-CSDN博客github:https://github.com/bubbliiiing/deeplabv3-plus-pytorch最近在使用Bubbliiing的deeplabv3+模型对自己的数据集进行训练时,使用博主提供的json_to_dataset.py对labelme标注的数据进行......
  • Google Earth Engine(GEE)——ui.Select的使用和分析
    结果 函数ui.Select(items, placeholder, value, onChange, disabled, style)Aprintableselectmenuwithacallback.Arguments:items(List<Object>,optional):Thelistofoptionstoaddtotheselect.Defaultstoanemptyarray.placeholder(String......
  • CesiumJS【Basic】- #053 绘制渐变填充多边形(Entity方式)-使用canvas
    文章目录绘制渐变填充多边形(Entity方式)-使用canvas1目标2代码2.1main.ts绘制渐变填充多边形(Entity方式)-使用canvas1目标使用Entity方式绘制绘制渐变填充多边形-使用canvas2代码2.1main.tsimport*asCesiumfrom'cesium';constviewer......
  • CesiumJS【Basic】- #054 绘制渐变填充多边形(Entity方式)-使用shader
    文章目录绘制渐变填充多边形(Entity方式)-使用shader1目标2代码2.1main.ts绘制渐变填充多边形(Entity方式)-使用shader1目标使用Entity方式绘制绘制渐变填充多边形-使用shader2代码2.1main.tsimport*asCesiumfrom'cesium';constviewer......
  • 揭秘JWT:从CTF实战到Web开发,使用JWT令牌验证
    揭秘JWT:从CTF实战到Web开发,使用JWT令牌验证介绍JWT(JSONWebTokens)是一种开放标准(RFC7519),它定义了一种紧凑且自包含的方式,用于在网络上安全地传输信息。这种信息可以验证和信任,因为它是数字签名的。JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。「优点」:「无状态」:服......
  • idm 支持断点续传吗 idm 断点续传如何使用 idm断点续传怎么解决 idm下载中断后无法继
    断点续传功能,让我再也不会惧怕下载大型文件。在断点续传的帮助下,用户可以随时暂停下载任务,并在空闲时继续之前的下载进程。下载文件不惧网络波动,断点续传让下载过程更稳定。有关idm支持断点续传吗,idm断点续传如何使用的问题,本文将进行详细介绍。一、idm支持断点续传吗最......