C语言-strtok(切片的使用)

strtok(切片的使用)

使用规则

使用的基本情况

strcpy

第二次调用的时候传的是空指针

所以打印出来的是

每一次调用函数都会把当前函数的地址记住

所以二次调用的时候 传的是null 连起始位置都不传了 只是传null

但是需要知道的是 当知道三段 你调用第四段的时候 那个时候第三段已经进行销毁 所以这里第四段会返回空指针

升级版本

讲解,这里调用strtok(arr(原始数组),sep(去掉的字符))

这里只要遇见的不是null 也就是最后一步之前 都不是null 所以 切片成功

这里for循环二次调用一下

代码的使用

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{char arr1[] = "shdphasuid\0as;k\0hjsdab";const char* p = "@.";strtok(arr1, p);//这个函数的特性就是 一次只打印一段printf("%s\n\n\n\n\n", arr1);char* ret = NULL;char arr2[] = "shdphasuid@ask@hjsdab";ret = strtok(arr2, p);printf("1 %s\n", ret);ret=strtok(NULL, p);printf("2 %s\n", ret);ret=strtok(NULL, p);printf("3 %s\n", ret);//这里需要知道的是 二次接受的时候需要接受空指针 当空指针运行结束的时候 这里也就是三段 三次 结束之后 空指针也就是没了ret = strtok(NULL, p);printf("4 %s\n\n\n\n\n", ret);//此时显示的是空指针printf("strtok函数的循环使用:\n");char arr3[] = "shdphasuid@ask@hjsdab";//这里巧妙的运用循环 也就是利用函数的特性 第一次需要传参数arr3 后面是null 只要不等于null那么久一直循环for (ret = strtok(arr3, p); ret != NULL; ret = strtok(NULL, p)){printf("%s ", ret);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/544661.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper快速入门一:zookeeper安装与启动

本文是zookeeper系列之快速入门中的第一篇&#xff0c;欢迎大家观看与指出不足。 写在前面&#xff1a; 不影响教程&#xff0c;笔者安装zookeeper用的是WSL(windows下的linux子系统&#xff09;&#xff0c;当然你想直接在windows上用zookeeper也是可以的。 如果你也想用ws…

JSP+Servlet开发汽车租赁管理系统

开发工具&#xff1a;EclipseJdkTomcatSQLServer数据库 链接: https://pan.baidu.com/s/1O5tGguNl6V1CvSpN-amNXA 提取码: exak 如果需要&#xff0c;联系下面的客服人员

NodeJS学习总结

Nodejs 可用于开发服务端应用、开发工具类应用、开发桌面端应用&#xff1b;nodejs是ecmscript的核心语法&#xff0c;nodejs中不能使用BOM和DOM的API,他的顶层对象是global,可以用globalThis访问顶层对象&#xff1b;可以用console和定时器API。 Buffer(缓冲器) 本质上是一…

(学习日记)2024.03.12:UCOSIII第十四节:时基列表

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

ts的interface和type区别

1. 场景 interface 是用来描述对象类型的结构&#xff0c;可以定义对象的属性名和属性值的类型&#xff0c;也可以定义函数类型。interface User {name: string;age: number;sayHello(): void; } const user: User {name: "",age: 2,sayHello() {...} }可以用这个U…

数据结构 之 二叉树

&#x1f389;欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ &#x1f389;感谢各位读者在百忙之中抽出时间来垂阅我的文章&#xff0c;我会尽我所能向的大家分享我的知识和经验&#x1f4d6; &#x1f389;希望我们在一篇篇的文章中能够共同进步&#xff01;&#xff01;&…

【MySQL高级篇】08-事务篇

第13章:事务基础知识 #09-事务的基础知识#1.事务的完成过程 #步骤1&#xff1a;开启事务 #步骤2&#xff1a;一系列的DML操作 #.... #步骤3&#xff1a;事务结束的状态&#xff1a;提交的状态(COMMIT) 、 中止的状态(ROLLBACK)#2. 显式事务#2.1 如何开启&#xff1f; 使用关键…

StarRocks面试题及答案整理,最新面试题

StarRocks 的 MV&#xff08;物化视图&#xff09;机制是如何工作的&#xff1f; StarRocks 的物化视图&#xff08;MV&#xff09;机制通过预先计算和存储数据的聚合结果或者转换结果来提高查询性能。其工作原理如下&#xff1a; 1、数据预处理&#xff1a; 在创建物化视图时…

SpringAI——Java生态接入LLM

最近&#xff0c;Spring官网发布了SpringAI&#xff0c;可点此查看https://spring.io/blog/2024/03/12/spring-ai-0-8-1-released&#xff0c;对于SpringAI的介绍&#xff0c;可看官方文档&#xff1a;https://spring.io/projects/spring-ai#overview。 本文将使用SpringAI配合…

2024 年值得关注的三大 DevOps 趋势

在过去几年中&#xff0c;DevOps 世界以前所未有的速度发展&#xff0c;但它仍然是许多组织效率、创新和数字化转型的主要驱动力。 Google 的 2023 年 加速 DevOps 状态报告显示&#xff0c;公司的软件交付性能质量可以预测组织绩效、团队绩效和员工福祉。 2024年&#xff0c…

【自然语言处理】NLP入门(八):1、正则表达式与Python中的实现(8):正则表达式元字符:.、[]、^、$、*、+、?、{m,n}

文章目录 一、前言二、正则表达式与Python中的实现1、字符串构造2、字符串截取3、字符串格式化输出4、字符转义符5、字符串常用函数6、字符串常用方法7、正则表达式1. .&#xff1a;表示除换行符以外的任意字符2. []&#xff1a;指定字符集3. ^ &#xff1a;匹配行首&#xff0…

Stable Diffusion科普文章【附升级gpt4.0秘笈】

随着人工智能技术的飞速发展&#xff0c;我们越来越多地看到计算机生成的艺术作品出现在我们的生活中。其中&#xff0c;Stable Diffusion作为一种创新的图像生成技术&#xff0c;正在引领一场艺术创作的革命。本文将为您科普Stable Diffusion的相关知识&#xff0c;带您走进这…