如何像 php 一样内爆 CkStringArray?

how to implode CkStringArray like php?

Chilkatsoft 具有 CkStringArray 的内爆功能,如果没有,那么我们如何组合所有 CkStringArray 成员并得到一个 CkString 对象

CkString implode(char* key, CkStringArray* StrArray) {
    CkString rt;
    CkString tmp;
    for (int i = 0; i < StrArray->get_Length(); i++) {
        tmp.clear();
        StrArray->Pop(tmp);
        rt.append(tmp);
        if (i < (StrArray->get_Length() - 1))
            rt.append(key);
    }
    tmp.clear();
    return rt;
}

引用为:

CkString abc = "h|e|l|l|o";
CkStringArray* cba = abc.split('|',true,false,false);
MessageBox(NULL, (LPCSTR)implode2("-",cba).getString(), NULL, NULL);

然后在消息框里给出 o-l-l

ChilkSoft 不提供内爆功能。使用 GetString 而不是 Pop,如下所示:

CkString implode(char* key, CkStringArray* StrArray) {
    CkString rt;
    CkString tmp;
    for (int i = 0; i < StrArray->get_Length(); i++) {
        tmp.clear();
        StrArray->GetString(i, tmp);
        rt.append(tmp.getString());
        if (i < (StrArray->get_Length() - 1))
            rt.append(key);
    }
    tmp.clear();
    return rt;
}