zoukankan      html  css  js  c++  java
  • bcb Split涵数

    // 拆分字符
    TStringList *Split(WideString Spliter, WideString String, int SplitNumber = 0)
    {
        int const MaxPos = 0x7fffffff, StartPos = 1;
        int FindPos, CharLen, Length, MySplitNumber=0;
        TStringList *Strs = new TStringList;
        BOOL LostTail;

        //if (SplitNumber == 0) LostTail = TRUE; 不严格,LostTail 在
        // SplitNumber != 0 时可能是任何值。故修改如下:
        LostTail = (SplitNumber == 0);
        //^^^^^^^^^^^^^^^^^^^^^^^^^^\\
        if (SplitNumber <= 0) SplitNumber = MaxPos;
            else MySplitNumber = SplitNumber;
        CharLen = Spliter.Length(); Length = String.Length();

        while(1)
        {
            FindPos = String.Pos(Spliter);
            if (CharLen <= 0){
                if (FindPos > Length) break;
                    else FindPos++;
            }
            if ((FindPos == 0) || (SplitNumber <= 1)){
                Strs->Add(String.SubString(StartPos,MaxPos));
                break;
            }
            --SplitNumber;
            Strs->Add(String.SubString(StartPos,FindPos - StartPos));
            String = String.SubString(FindPos+CharLen,MaxPos);
        }
        int i;
        for (i=Strs->Count; i<MySplitNumber; i++){
            Strs->Add("");
        }
        if (LostTail){
            for (i = Strs->Count - 1; i>=0; i--)
                if (Strs->Strings[i] == "") Strs->Delete(i);
                    else break;
        }

        return Strs;
    }

  • 相关阅读:
    MySQL 多会话之间更新数据的小实例
    MySQL Profile
    MySQL Explain
    MySQL 索引
    利用网站上传漏洞使用一句话木马控制服务器
    kali之nmap
    kali之使用sqlmap进行sql注入
    kali之DVWA
    Kali安装nessus
    openvas
  • 原文地址:https://www.cnblogs.com/xsmhero/p/1557120.html
Copyright © 2011-2022 走看看