小编Leo*_*rdo的帖子

strtok函数c元素考虑的问题

当我尝试用分隔符分割字符串时,该strtok函数不考虑空字符串,我想知道如何修复它。例如,就我而言,我必须拆分字符串,例如"a-b-c". 当我尝试拆分字符串时"a--b-c",结果应该是,,,, "a"(注意空字符串)。但如果我在调用函数后打印每个元素的结果,它只考虑、和。为什么会发生这种情况?我该如何解决?"""b""c""a""b""c"

    char str[] = "a--b-c";
    char *delim = "-";
    char *token;

    token = strtok(str, delim);

    while (token != NULL) {
        printf("element is: =====%s===== \n ", token);
        token = strtok(NULL, delim);
    }
Run Code Online (Sandbox Code Playgroud)

打印的元素应该是 4 ( a, 空字符串 , b, c) 但使用此代码,它只有 3 ( a, b, c)。

c split substring c-strings

1
推荐指数
2
解决办法
103
查看次数

标签 统计

c ×1

c-strings ×1

split ×1

substring ×1