strtok和strtok_r函数_strtok_r' 'strtok-程序员宅基地

技术标签: c语言  学一点C语言  

函数定义

//extract tokens from strings
#include <string.h>
char *strtok(char *str, const char *delim);
char *strtok_r(char *str, const char *delim, char **saveptr);

使用strtok解析提取字符串;
如aaa,bbb,ccc,ddd, delim=",", 一次分割出字符串"aaa", “bbb”, “ccc”, “ddd”,
使用的时候第一次提取需要指明str字符串,后续对相同字符串的操作则必须指定为NULL
delim是指定一系列字节表示的字符串,会匹配其中的所有字符集合中的字符。

每次调用strtok返回一个指针直线一个null结尾的字符串。不包含delim中的字符。
下一次调用没有匹配的了就返回NULL

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


int main()
{
    
        char str[]="aaa,bb,cc";
        char *delim = ",";
        char *tmp = strtok(str, delim);

        while(tmp != NULL) {
    
                printf("%s\n", tmp);
                tmp = strtok(NULL, delim);
        }

        return 0;
}

strtok_r是可重入的。**saveptr是内部使用的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45487605/article/details/123673895

智能推荐

win10电脑能上网但是图标显示未连接到网络的解决方法_win10能上网但是网络显示未连接-程序员宅基地

文章浏览阅读2.5k次,点赞5次,收藏10次。本文主要介绍了win10电脑能上网但图标显示未连接到网络的问题(影响访问微软相关的服务),并总结解决方法_win10能上网但是网络显示未连接

Python字典如何根据值返回键_字典返回值对应的键-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏37次。1.根据值返回对应的键(当有多个相同值时,只返回第一个值对应的键)dict={2:1,3:9,4:5}list(dict.keys())[list(dict.values()).index(1)]结果:22.根据最小值返回对应的键'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#方法一dict={2:1,3:9,4:5}min(dict.items(),key=la_字典返回值对应的键

共享文件夹----详细教程_客户端如何用分配的用户账号登入共享文件夹-程序员宅基地

文章浏览阅读6.1k次,点赞5次,收藏41次。一台为服务器(作为管理方)-----这里以win 7作为服务器另一台为客户机(普通用户)-----这里以win werver 2008作为客户端。_客户端如何用分配的用户账号登入共享文件夹

科美smb设置用计算机名,柯美复印机的文件夹共享网络扫描设置-程序员宅基地

文章浏览阅读4.5k次。昨天给两台电脑设置柯美复印机的网络扫描,由于时间比较多,我就顺便截了图,把过程做成图文,分享给需要的人,这次设置的这台是柯美BH287。一、SMB扫描在电脑上新建一个文件夹,亲测中文名称和英文名称都可以用。把文件夹共享出来,右键单击文件夹,选择属性,在共享选项卡中,点击共享按钮。添加共享用户"Everyong"把Everyone用户的极限级别改为“读取和写入”,见下图,然后点“共享”。注意:如果电..._bizhub 287 smb

hbuilderX连接雷电模拟器_hbuilderx运行到雷电模拟器-程序员宅基地

文章浏览阅读5.8k次,点赞5次,收藏7次。1.下载并安装雷电模拟器2.hbuilderX中选择“运行-运行到手机或模拟器-ADB路径设置”,填写雷电模拟器的adb.exe的路径3.设置Android模拟器端口:55554.雷电模拟器打开调试模式:打开“设置-关于平板电脑”,多少次点击“版本号”,直至提醒进入开发者选项,返回上一级,在“关于平板电脑”上方可以看到“开发者选项”,进入并打开“USB调试”5.hbuilderX中选择“运行-运行到手机或模拟器-运行到Android APP基座”..._hbuilderx运行到雷电模拟器

计算机相关国外期刊,计算机 国外期刊-程序员宅基地

文章浏览阅读1k次。1. Artificial Intelligence ( SCI 源刊 EI源刊)http://www.elsevier.comhttp://www.elsevier.com/wps/find/journaldescription.cws_home/505601/description#descriptionISSN: 0004-3702ARTIFICIAL INTELLIGENCEMonthly..._找一篇计算机相关的外文期刊论文。要求:必须是近几年的期刊论文,且内容和计算机相

随便推点

Android实现与PHP后端的交互(数据传输,文件传输)(超详细/附源码)_用php开发android系统usb通信-程序员宅基地

文章浏览阅读1.4k次。本篇文章将详细介绍Android与PHP的交互,实际上就是利用http进行通信的过程,通过Get方法和Post方法,实现数据传输,文件传输,博主在真机上进行了实测,并附上了源码的链接。_用php开发android系统usb通信

plsql如何导入csv文件,PLSQL导入csv文件到数据库-程序员宅基地

文章浏览阅读2w次,点赞10次,收藏40次。搜索热词好久不用oracle了,突然忘记怎么导入数据了。今天再记录一下吧。1、建表。目的是:被导入到数据的存储位置。因为数据库中曾经有过相同表结构的表,所以直接使用sql建表。sql">-- t_sdh_cc表create table t_sdh_cc as select * from t_sdh_cc_hn_cxh where 1=0;@H_404_7@2、建好表后,开始导入数据。2...._plsql导入csv

Micro Drive Data Recovery_which may indicate disk corruption.-程序员宅基地

文章浏览阅读607次。Our Microdrive data recovery service recovers lost, deleted or damaged photographic images, videos or data from any type of Microdrive. Our recovery specialists are able to un-delete Microdrive file_which may indicate disk corruption.

android权限赋予流程_adb 给app授权-程序员宅基地

文章浏览阅读3k次。android 权限 permission_adb 给app授权

linux支持大磁盘配置_size of device too big to be-程序员宅基地

文章浏览阅读1.5k次。问题:mkfs.ext3: Size of device /dev/sdc1 too big to be expressed in 32 bits using a blocksize of 4096.CentOS 6.3 x64 支持大于2T,小于16T的数据盘 1.支持2T2.支持x>16T磁盘分区,需要安装插件;e2fsprogs-1.43.4.tar.gz(CentOS 6._size of device too big to be

JS接收url上的参数_servlet如何接收js的url参数-程序员宅基地

文章浏览阅读220次。用正则表达式:function GetQueryString(name) { var reg = new RegExp(“(^|&)”+ name +”=([^&]*)(&|$)”); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); r_servlet如何接收js的url参数

推荐文章

热门文章

相关标签