Skip to content

string_new

Initialize new dynamic string. Created string is guaranteed to be zero terminated.

Warning

Every new string must be deleted by string_delete call.

Declaration

fn () string

Description

Create new empty string object.

Result

New empty string.

Example

main :: fn () s32 {
    str :: string_new();
    defer string_delete(str);
    string_append(&str, "Hello");

    print("str = %\n", str);
    return 0;
}

Declaration

fn (size: usize) string

Description

Create new string with preallocated space. This type of string initialization can reduce count of allocations made later by extending string content. String with length up to size require only one memory allocation.

Hint

This initialization should be preferred if string length can be predicted.

Arguments

  • size Preallocation size in characters.

Result

New string.

Example

main :: fn () s32 {
    str :: string_new(256);
    defer string_delete(str);
    string_append(&str, "Hello");

    print("str = %\n", str);
    return 0;
}

Declaration

fn (v: string) string

Description

Create copy of v string.

Arguments

  • v String to be copied.

Result

New duplicate string.


Declaration

fn (cstr: *u8) string

Description

Create copy of C zero terminated string.

Arguments

  • v Pointer to C string.

Result

New duplicate string.

Declared in: string.bl