曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5290|回复: 0
打印 上一主题 下一主题

[字符串] strtok() -- 拆解字符串

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2010-6-19 22:31:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原型
#include <string.h>
char *strtok(char *str, const char *delim);

说明
该函数将一个字符串进行分解成各个标记。一般的,这些标记都会被分隔符隔开(如文章中的逗号,双引号,句号等标点符号)。
在第一次使用该函数时,必须在第 1 个参数中指定字符串,而在后续对该函数的使用时,由于解析的是同一个字符串,所以此时 str 需要指定为 NULL 。第 2 个参数是要分解字符串的分隔符。每次调用该函数时,返回的是一个非空指针,该指针指向下一个标记。所以,如果一直调用该函数,那么该函数最终返回的是一个空的指针。

描述虽然复杂,用代码看上去则显得直观且易于理解:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char str[128] = {"100,101,102,103,104,105"};

    int i;

    char *g;

    for (i = 0, g = strtok(str, ","); g != NULL; g = strtok (NULL, ","), i++)
        printf ("%s\n", g);

    return (0);
}
运行与输出
 ./strtok
100
101
102
103
104
105
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-4 12:12 , Processed in 0.103564 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表