#pragma once #if __cplusplus extern "C" { #endif #include "types.h" //returns length of string (including \0) uint32 cptr_length(char* str); //allocates new char[] and copies src there char* cptr_copy(char* src); //compares two char buffers, NullPtr-friendly bool cptr_compare(char* key0, char* key1); //multiplies char n times char* char_multiply(char c, uint32 n); //my fixed length string struct //doesn't store '\0' at the end typedef struct string{ char* ptr; //char pointer uint32 length; //amount of chars in ptr value } string; static const string stringNull={NULL,0}; //copies str content to new char pointer value (adding '\0' at the end) char* string_cpToCptr(string str); //copies cptr content (excluding '\0' at the end) to new string string string_cpFromCharPtr(char* cptr); //compares two strings, NullPtr-friendly bool string_compare(string str0, string str1); //creates new string which is reversed variant of string string_reverse(string s); #if __cplusplus } #endif