如何正确使用strsep()解析数组?

我正在尝试实现一个函数,该函数将要解析的字符串和定界符字符串作为输入,然后如果两个定界符相邻,则返回一个包含这些已解析元素(包括空字符)的char数组。

下面是我当前的代码:

String* _split(String self,String delim) {
    char* selfCharArr = _get_value(self,NULL);
    char* delimCharArr = _get_value(delim,NULL);

    char** tokens = calloc((_length(self) + 2),sizeof(String));
    char* var;
    int index = 0;

    var = strsep(&selfCharArr,delimCharArr);
    while(var != NULL) {
        var = strsep(&selfCharArr,delimCharArr);
        tokens[index] = var;
        index++;
    }
    return (String*) tokens;
}

但是,在测试中,我发现它只会返回一个NULL字符串,我不知道为什么。没有警告或错误产生,我已经查阅了手册页。

mekids 回答:如何正确使用strsep()解析数组?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3096095.html

大家都在问