SDK Defold String Utils API documentation
Include: | #include <dmsdk/dlib/dstrings.h> |
FUNCTIONS | |
---|---|
dmSnPrintf( buffer, count, format) | Size-bounded string formating. |
dmStrTok( string, delim, lasts) | Tokenize strings. |
dmStrlCpy( dst, src, size) | Size-bounded string copying. |
dmStrlCat( dst, src, size) | Size-bounded string concatenation. |
dmStrCaseCmp( s1, s2) | Case-insensitive string comparison |
dmSnPrintf( buffer, count, format)
Size-bounded string formating. Resulting string is guaranteed to be 0-terminated.
PARAMETERS
|
buffer |
Buffer to write to |
|
count |
Size of the buffer |
|
format |
String format |
RETURNS
|
of the resulting string (excl terminating 0) if it fits, -1 otherwise |
EXAMPLES
char path[64]; dmSnPrintf(path, 64, PATH_FORMAT, filename);
dmStrTok( string, delim, lasts)
Tokenize strings. Equivalent to BSD strsep_r. Thread-save version of strtok.
PARAMETERS
|
string |
Pointer to string. For the first call string is the string to tokenize. Subsequent should pass NULL. |
|
delim |
Delimiter string |
|
lasts |
Internal state pointer |
RETURNS
|
call to dmStrTok() returns a pointer to a null-terminated string containing the next token. This string does not include the delimiting byte. If no more tokens are found, dmStrTok() returns NULL |
EXAMPLES
char* string = strdup("a b c"); char* s, *last; s = dmStrTok(string, " ", &last); // a s = dmStrTok(0, " ", &last); // b s = dmStrTok(0, " ", &last); // c
dmStrlCpy( dst, src, size)
Size-bounded string copying. Same as OpenBSD 2.4 strlcpy. Copy src to string dst of size siz. At most siz-1 characters will be copied. Always NUL terminates (unless siz == 0).Returns strlen(src); if retval >= siz, truncation occurred.
PARAMETERS
|
dst |
Destination string |
|
src |
Source string |
|
size |
Max size |
RETURNS
|
length of the created string |
EXAMPLES
const char* src = "foo"; char dst[3]; dmStrlCpy(dst, src, sizeof(dst)); // dst = "fo"
dmStrlCat( dst, src, size)
Size-bounded string concatenation. Same as OpenBSD 2.4 strlcat. Appends src to string dst of size siz (unlike strncat, siz is the full size of dst, not space left). At most siz-1 characters will be copied. Always NUL terminates (unless siz == 0). Returns strlen(src); if retval >= siz, truncation occurred.
PARAMETERS
|
dst |
Destination string |
|
src |
Source string |
|
size |
Max size |
RETURNS
|
length of the created string |
EXAMPLES
const char* src = "foo"; char dst[3] = { 0 }; dmStrlCat(dst, src, sizeof(dst)); // dst = "fo"
dmStrCaseCmp( s1, s2)
Case-insensitive string comparison
PARAMETERS
|
s1 |
First string to compare |
|
s2 |
Second string to compare |
RETURNS
|
integer greater than, equal to, or less than 0 after lexicographically comparison of s1 and s2 |
EXAMPLES
dmStrCaseCmp("a", "b"); // <0 dmStrCaseCmp("b", "a"); // >0 dmStrCaseCmp("a", "a"); // 0