First thing always is including Eina:
Next we initialize eina and create a string buffer to play with:
{
EINA_API int eina_init(void)
Initializes the Eina library.
Definition: eina_main.c:291
EINA_API Eina_Strbuf * eina_strbuf_new(void)
Creates a new string buffer.
#define EINA_UNUSED
Used to indicate that a function parameter is purposely unused.
Definition: eina_types.h:339
String buffer to facilitate string operations.
Definition: eina_strbuf_common.h:15
Here you can see two different ways of creating a buffer with the same contents. We could create them in simpler ways, but this gives us an opportunity to demonstrate several functions in action:
EINA_API void eina_strbuf_reset(Eina_Strbuf *buf)
Resets a string buffer.
EINA_API Eina_Bool eina_strbuf_append_char(Eina_Strbuf *buf, char c)
Appends a character to a string buffer, reallocating as necessary.
EINA_API void eina_strbuf_free(Eina_Strbuf *buf)
Frees a string buffer.
EINA_API Eina_Bool eina_strbuf_append_length(Eina_Strbuf *buf, const char *str, size_t length)
Appends a string of exact length to a buffer, reallocating as necessary.
EINA_API void eina_strbuf_tolower(Eina_Strbuf *buf)
Converts the string to lower case.
Definition: eina_strbuf.c:197
EINA_API Eina_Bool eina_strbuf_insert_escaped(Eina_Strbuf *buf, const char *str, size_t pos)
Inserts an escaped string into a buffer, reallocating as necessary.
EINA_API Eina_Strbuf * eina_strbuf_substr_get(Eina_Strbuf *buf, size_t pos, size_t len)
Obtains substring from a source string buffer.
Definition: eina_strbuf.c:205
EINA_API const char * eina_strbuf_string_get(const Eina_Strbuf *buf)
Retrieves a pointer to the contents of a string buffer.
EINA_API Eina_Bool eina_strbuf_append_escaped(Eina_Strbuf *buf, const char *str)
Appends an escaped string to a buffer, reallocating as necessary.
Next we use the printf family of functions to create a formatted string, add, remove and replace some content:
EINA_API size_t eina_strbuf_length_get(const Eina_Strbuf *buf)
Retrieves the length of the string buffer's content.
EINA_API Eina_Bool eina_strbuf_insert_printf(Eina_Strbuf *buf, const char *fmt, size_t pos,...) EINA_PRINTF(2
Inserts data elements into a buffer using printf-style formatting.
EINA_API Eina_Bool eina_strbuf_append_printf(Eina_Strbuf *buf, const char *fmt,...) EINA_PRINTF(2
Appends data elements to a buffer using printf-style formatting.
EINA_API Eina_Bool eina_strbuf_remove(Eina_Strbuf *buf, size_t start, size_t end)
Removes a section from the given string buffer.
EINA_API int eina_strbuf_replace_all(Eina_Strbuf *buf, const char *str, const char *with)
Replaces all matching substrings with another string.
Definition: eina_strbuf_common.c:1039
Once done we free our string buffer, shut down Eina and end the application:
return 0;
}
EINA_API int eina_shutdown(void)
Shuts down the Eina library.
Definition: eina_main.c:379
EINA_API Eina_Strbuf * eina_strbuf_manage_read_only_new_length(const char *str, size_t length)
Creates a new string buffer using the passed string.