C语言分割字符串利器-strtok_r

C语言分割字符串利器-strtok_rstrtok_r函数可以根据指定的分隔符来切分字符串。函数原型如下:#include <string.

欢迎大家来到IT世界,在知识的湖畔探索吧!

strtok_r函数可以根据指定的分隔符来切分字符串。

函数原型如下:

#include <string.h>
char *strtok_r(char *str, const char *delim, char **saveptr);

欢迎大家来到IT世界,在知识的湖畔探索吧!

str:需要分割的字符串

delim:分隔符

saveptr:保存剩下待分割的字符串。

比如需要将”Fred male 25,John male 62,Anna female 16″这个字符串按逗号分隔,代码如下:

欢迎大家来到IT世界,在知识的湖畔探索吧!#include <stdio.h>
#include <string.h>

/*
 char *strtok_r(char *str, const char *delim, char **saveptr);
 注意:
 1、第一次调用时,str传递需要分割的字符串; 后续调用时,str需要传递NULL
 2、这个函数会修改str字符串,所以str不能是常量字符串
 3、返回的结果不包含delim字符
 */

int main(void)
{
    char buffer[100] = "Fred male 25,John male 62,Anna female 16";
    char *str = buffer;
    char *saveptr = NULL;
    char *ret = NULL;
    
    while ((ret = strtok_r(str, ",", &saveptr)) != NULL)
    {
        str = NULL;
        printf("ret: %s\n", ret);
    }
    return 0;
}

终端打印:

C语言分割字符串利器-strtok_r

while循环了3次,每次输出一个字符串。

⚠️这个函数有几点需要注意:

1、第一次调用时,str传递需要分割的字符串; 后续调用时,str需要传递NULL。

2、这个函数会修改str字符串,所以str不能是常量字符串。

3、返回的结果不包含delim字符。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/48511.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信