strtok---切割字符串 解析,实例及具体用法,注意事项等

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: strtok---切割字符串 解析,实例及具体用法,注意事项等
//strtok---切割字符串,如192.168.3.22切割为192 168 3 22
//第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中-个或者多个分隔符分割的标记。
//
//strtok函数找到str中的下一个标记, 并将其用\0结尾, 返回一个指向这个标记的指针。(注: strtok函数
//会改变被操作的字符串, 所以在使用strtok函数切分的字符串 - 般都是临时拷贝的内容并且可修改。)
//
//strtok函数的第一 个参数不为NULL, 函数将找到str中第一 个标记,strtok函数将保存它在字符串中的
//位置。strtok函数的第一个参数为NULL, 函数将在同 - 一个字符串中被保存的位置开始, 查找下一一个标
//记。
//
//如果字符患中不存在更多的标记, 则返回NULL指针。
int main()
{
    char arr[] = "chang!xing.bin";
    char* p = "!.";
    char tmp[20] = { 0 };//创建临时数组用来接收arr数组,防止arr数组被切割
    strcpy(tmp, arr);//将tmp数组防止tmp中
    //chang\0xing\0bin\0            
    char* ret = NULL;//创建ret接收strtok,方便打印
                //有两种方法:
                //1.以下方法只适用于知道切割几次,且切割次数很少时
    ret = strtok(tmp, p);//不是空指针
    printf("%s\n", ret);
    ret = strtok(NULL, p);//是空指针时
    printf("%s\n", ret);
    ret = strtok(NULL, p);//是空指针时
    printf("%s\n", ret);
               //2.以下方法为通用简化版,可切割无限次,并可自己停止(314-321行的简化版)
    for (ret = strtok(tmp, p); ret != NULL; ret = strtok(NULL, p))
        //起始条件,判断条件,下次执行条件
    {
        printf("%s\n", ret);
    }
    return 0;
}

158ca18e9d664b4d9dbf6b5bcaf3fd50.png

8b042302bf674ab39ae479ba57522d73.png

相关文章
|
3月前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
90 5
|
3天前
|
JSON Shell Linux
dockerfile 用法全解析
Dockerfile指令简介:`FROM`基于Alpine镜像;`WORKDIR`设置工作目录;`COPY`复制文件;`ADD`支持URL;`RUN`运行命令;`CMD`容器启动时执行;`ENTRYPOINT`与`CMD`组合执行;`EXPOSE`声明端口;`VOLUME`映射文件;`ENV`设置环境变量;`ARG`构建参数;`LABEL`元数据;`ONBUILD`触发命令;`STOPSIGNAL`停止信号;`HEALTHCHECK`健康检查;`SHELL`默认Shell。Alpine仅5M,小巧高效。
24 4
dockerfile 用法全解析
|
1天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
16 5
|
1月前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
107 57
|
18天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
28 5
|
25天前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
1月前
|
Dart 安全 编译器
Flutter结合鸿蒙next 中数据类型转换的高级用法:dynamic 类型与其他类型的转换解析
在 Flutter 开发中,`dynamic` 类型提供了灵活性,但也带来了类型安全性问题。本文深入探讨 `dynamic` 类型及其与其他类型的转换,介绍如何使用 `as` 关键字、`is` 操作符和 `whereType<T>()` 方法进行类型转换,并提供最佳实践,包括避免过度使用 `dynamic`、使用 Null Safety 和异常处理,帮助开发者提高代码的可读性和可维护性。
84 1
|
2月前
|
XML 数据格式
HTML 实例解析
本文介绍了HTML中常见元素的使用方法,包括`<p>`、`<body>`和`<html>`等。详细解析了这些元素的结构和作用,并强调了正确使用结束标签的重要性。此外,还提到了空元素的使用及大小写标签的规范。
|
3月前
|
数据可视化 Python
Python绘制基频曲线——实例解析与应用探讨
Python绘制基频曲线——实例解析与应用探讨
62 9
|
3月前
|
安全 网络安全 开发工具
深入探索Git:全面解析Git的用法与最佳实践
深入探索Git:全面解析Git的用法与最佳实践
67 2

推荐镜像

更多
下一篇
DataWorks