Sample code for 30+ languages & platforms
Unicode C++

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkStringBuilderW.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkStringBuilderW sb;
    success = sb.Append(L"www.chilkatsoft.com");

    //  The GetBefore method returns the contents of the string up to but not including
    //  the marker string.  If the remove flag is true, then both the returned string AND
    //  the marker are removed.
    bool removeFlag = false;
    const wchar_t *marker = L".";
    const wchar_t *substr = sb.getBefore(marker,removeFlag);
    wprintf(L"substr = %s\n",substr);
    wprintf(L"sb contains: %s\n",sb.getAsString());

    //  Output:
    //  substr = www
    //  sb contains: www.chilkatsoft.com

    removeFlag = true;
    substr = sb.getBefore(marker,removeFlag);
    wprintf(L"substr = %s\n",substr);
    wprintf(L"sb contains: %s\n",sb.getAsString());

    //  Output:
    //  substr = www
    //  sb contains: chilkatsoft.com

    //  If the marker is not found, and the removeFlag is true,
    //  then the entire string is returned and the sb is cleared.
    //  For example:
    sb.Clear();
    sb.Append(L"111--222--333--444");
    marker = L"--";
    removeFlag = true;
    while ((sb.get_Length() > 0)) {
        substr = sb.getBefore(marker,removeFlag);
        wprintf(L"substr = %s, sb contains: %s\n",substr,sb.getAsString());
    }

    //  Output is:
    //  substr = 111, sb contains: 222--333--444
    //  substr = 222, sb contains: 333--444
    //  substr = 333, sb contains: 444
    //  substr = 444, sb contains:
    }