Functions
Dynamic String Functions.

Functions

TRIO_PUBLIC_STRING trio_string_t *trio_string_create TRIO_ARGS1 ((initial_size), int initial_size)
 Create a new dynamic string. More...
 
TRIO_PUBLIC_STRING void trio_string_destroy TRIO_ARGS1 ((self), trio_string_t *self)
 Deallocate the dynamic string and its contents. More...
 
TRIO_PUBLIC_STRING char *trio_string_get TRIO_ARGS2 ((self, offset), trio_string_t *self, int offset)
 Get a pointer to the content. More...
 
TRIO_PUBLIC_STRING void trio_xstring_set TRIO_ARGS2 ((self, buffer), trio_string_t *self, char *buffer)
 Set the content of the dynamic string. More...
 
TRIO_PUBLIC_STRING int trio_string_append TRIO_ARGS2 ((self, other), trio_string_t *self, trio_string_t *other)
 Append the second string to the first. More...
 

Detailed Description

Dynamic string functions.

SYNOPSIS

cc ... -ltrio -lm

#include <triostr.h>

DESCRIPTION

Function Documentation

◆ TRIO_ARGS1() [1/2]

TRIO_PUBLIC_STRING trio_string_t* trio_string_create TRIO_ARGS1 ( (initial_size)  ,
int  initial_size 
)

Create a new dynamic string.

Parameters
initial_sizeInitial size of the buffer.
Returns
Newly allocated dynamic string, or NULL if memory allocation failed.

◆ TRIO_ARGS1() [2/2]

TRIO_PUBLIC_STRING int trio_string_upper TRIO_ARGS1 ( (self)  ,
trio_string_t *  self 
)

Deallocate the dynamic string and its contents.

Extract the content.

Parameters
selfDynamic string
selfDynamic String
Returns
Content of dynamic string.

The content is removed from the dynamic string. This enables destruction of the dynamic string without deallocation of the content.

◆ TRIO_ARGS2() [1/3]

TRIO_PUBLIC_STRING void trio_xstring_set TRIO_ARGS2 ( (self, buffer)  ,
trio_string_t *  self,
char *  buffer 
)

Set the content of the dynamic string.

Parameters
selfDynamic String
bufferThe new content.

Sets the content of the dynamic string to a copy buffer. An existing content will be deallocated first, if necessary.

Remarks
This function will make a copy of buffer. You are responsible for deallocating buffer yourself.

◆ TRIO_ARGS2() [2/3]

TRIO_PUBLIC_STRING char* trio_string_get TRIO_ARGS2 ( (self, offset)  ,
trio_string_t *  self,
int  offset 
)

Get a pointer to the content.

Parameters
selfDynamic string.
offsetOffset into content.
Returns
Pointer to the content.

Offset can be zero, positive, or negative. If offset is zero, then the start of the content will be returned. If offset is positive, then a pointer to offset number of characters from the beginning of the content is returned. If offset is negative, then a pointer to offset number of characters from the ending of the string, starting at the terminating zero, is returned.

◆ TRIO_ARGS2() [3/3]

TRIO_PUBLIC_STRING char *trio_string_substring TRIO_ARGS2 ( (self, other)  ,
trio_string_t *  self,
trio_string_t *  other 
)

Append the second string to the first.

Search for the first occurrence of second parameter in the first.

Parameters
selfDynamic string to be modified.
otherDynamic string to copy from.
Returns
Boolean value indicating success or failure.