我正在尝试实现一个函数,该函数将要解析的字符串和定界符字符串作为输入,然后如果两个定界符相邻,则返回一个包含这些已解析元素(包括空字符)的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字符串,我不知道为什么。没有警告或错误产生,我已经查阅了手册页。