Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

C/C++ API Documentation | 2025.1

# StrBuf::operator <<( int )

Append a formatted integer to a `StrBuf`. The formatted integer is logically appended to the string pointed to by the `StrBuf`'s `buffer`.

Virtual? | No |
Class | `StrBuf` |
Arguments | `int v` | (implied) integer
Returns | `StrBuf &` | reference of the `StrBuf`

## Notes

The integer is formatted with the logical equivalent of `sprintf( buf, "%d", v )`.

The `length` is incremented by the number of bytes of the formatted integer.

If the memory for the `StrBuf`'s `buffer` is not large enough, new contiguous memory is allocated to contain the results of appending the formatted integer. If new memory is allocated, the old memory is freed. Any memory allocated is separate from the memory for the formatted integer.

## Example

Copy

    #include &lt;iostream&gt;

    #include &lt;stdhdrs.h&gt;
    #include &lt;strbuf.h&gt;

    int main( int argc, char **argv )
    {
        StrBuf sb;
        int i;

        sb.Set( "xyz" );
        i = 73;

        cout &lt;&lt; "sb.Text() prior to sb &lt;&lt; i returns ";
        cout &lt;&lt; "\"" &lt;&lt; sb.Text() &lt;&lt; "\"\n";
        cout &lt;&lt; "sb.Length() prior to sb &lt;&lt; i returns ";
        cout &lt;&lt; sb.Length() &lt;&lt; "\n\n";

        sb &lt;&lt; i;   // append (formatted) int to StrBuf

        cout &lt;&lt; "sb.Text() after sb &lt;&lt; i returns ";
        cout &lt;&lt; "\"" &lt;&lt; sb.Text() &lt;&lt; "\"\n";
        cout &lt;&lt; "sb.Length() after sb &lt;&lt; i returns ";
        cout &lt;&lt; sb.Length() &lt;&lt; "\n";
    }

Executing the preceding code produces the following output:

    sb.Text() prior to sb << i returns "xyz"
    sb.Length() prior to sb << i returns 3

    sb.Text() after sb << i returns "xyz73"
    sb.Length() after sb << i returns 5

Your search for returned results