Sample code for 30+ languages & platforms
C

StringBuilder SetNth

Demonstrates the SetNth method.

Chilkat C Downloads

C
#include <C_CkStringBuilder.h>

void ChilkatSample(void)
    {
    HCkStringBuilder sb;
    const char *delimiterChar;
    BOOL exceptDoubleQuoted;
    BOOL exceptEscaped;

    // The SetNth method is handy for setting a part of a delimited string.
    // For example:

    sb = CkStringBuilder_Create();
    CkStringBuilder_Append(sb,"red,blue,\"green,purple\",,yellow");

    delimiterChar = ",";
    exceptDoubleQuoted = TRUE;
    exceptEscaped = TRUE;

    CkStringBuilder_SetNth(sb,2,"magenta",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    // Prints "red,blue,magenta,,yellow"
    printf("%s\n",CkStringBuilder_getAsString(sb));

    CkStringBuilder_SetNth(sb,3,"orange",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    // Prints "red,blue,magenta,orange,yellow"
    printf("%s\n",CkStringBuilder_getAsString(sb));

    // What happens if we start with an empty string?
    CkStringBuilder_Clear(sb);

    CkStringBuilder_SetNth(sb,2,"apple",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    // Prints ",,apple"
    printf("%s\n",CkStringBuilder_getAsString(sb));

    CkStringBuilder_SetNth(sb,0,"orange",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    // Prints "orange,,apple"
    printf("%s\n",CkStringBuilder_getAsString(sb));

    CkStringBuilder_SetNth(sb,1,"banana",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    // Prints "orange,banana,apple"
    printf("%s\n",CkStringBuilder_getAsString(sb));


    CkStringBuilder_Dispose(sb);

    }