Sample code for 30+ languages & platforms
Unicode C

StringBuilder SetNth

Demonstrates the SetNth method.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    HCkStringBuilderW sb;
    const wchar_t *delimiterChar;
    BOOL exceptDoubleQuoted;
    BOOL exceptEscaped;

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

    sb = CkStringBuilderW_Create();
    CkStringBuilderW_Append(sb,L"red,blue,\"green,purple\",,yellow");

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

    CkStringBuilderW_SetNth(sb,2,L"magenta",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    //  Prints "red,blue,magenta,,yellow"
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_SetNth(sb,3,L"orange",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    //  Prints "red,blue,magenta,orange,yellow"
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

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

    CkStringBuilderW_SetNth(sb,2,L"apple",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    //  Prints ",,apple"
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_SetNth(sb,0,L"orange",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    //  Prints "orange,,apple"
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_SetNth(sb,1,L"banana",delimiterChar,exceptDoubleQuoted,exceptEscaped);
    //  Prints "orange,banana,apple"
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));


    CkStringBuilderW_Dispose(sb);

    }