Sample code for 30+ languages & platforms
C++

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat C++ Downloads

C++
#include <CkStringBuilder.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkStringBuilder sb;
    success = sb.Append("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 char *marker = ".";
    const char *substr = sb.getBefore(marker,removeFlag);
    std::cout << "substr = " << substr << "\r\n";
    std::cout << "sb contains: " << sb.getAsString() << "\r\n";

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

    removeFlag = true;
    substr = sb.getBefore(marker,removeFlag);
    std::cout << "substr = " << substr << "\r\n";
    std::cout << "sb contains: " << sb.getAsString() << "\r\n";

    //  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("111--222--333--444");
    marker = "--";
    removeFlag = true;
    while ((sb.get_Length() > 0)) {
        substr = sb.getBefore(marker,removeFlag);
        std::cout << "substr = " << substr << ", sb contains: " << sb.getAsString() << "\r\n";
    }

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