C++
C++
StringBuilder GetBefore
Demonstrates the StringBuilder.GetBefore method.The GetBefore method was added in Chilkat v9.5.0.77
Chilkat C++ Downloads
#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:
}