Functions for manipulating strings. More...
#include <GKlib.h>
Go to the source code of this file.
Functions | |
int | gk_GetStringID (gk_StringMap_t *strmap, char *key) |
time_t | gk_str2time (char *str) |
Converts a date/time string into its equivalent time_t value. More... | |
int | gk_strcasecmp (char *s1, char *s2) |
Case insensitive string comparison. More... | |
char * | gk_strchr_replace (char *str, char *fromlist, char *tolist) |
Replaces certain characters in a string. More... | |
char * | gk_strdup (char *orgstr) |
Duplicates a string. More... | |
char * | gk_strhprune (char *str, char *rmlist) |
Prunes characters from the beginning of the string. More... | |
int | gk_strrcmp (char *s1, char *s2) |
Compare two strings in revere order. More... | |
int | gk_strstr_replace (char *str, char *pattern, char *replacement, char *options, char **new_str) |
Regex-based search-and-replace function. More... | |
char * | gk_strtolower (char *str) |
Converts a string to lower case. More... | |
char * | gk_strtoupper (char *str) |
Converts a string to upper case. More... | |
char * | gk_strtprune (char *str, char *rmlist) |
Prunes characters from the end of the string. More... | |
char * | gk_time2str (time_t time) |
Converts a time_t time into a string. More... | |
Functions for manipulating strings.
Various functions for manipulating strings. Some of these functions provide new functionality, whereas others are drop-in replacements of standard functions (but with enhanced functionality).
Definition in file string.c.
int gk_GetStringID | ( | gk_StringMap_t * | strmap, |
char * | key | ||
) |
time_t gk_str2time | ( | char * | str | ) |
Converts a date/time string into its equivalent time_t value.
This function takes date and/or time specification and converts it in the equivalent time_t representation. The conversion is done using the strptime() function. The format that gk_str2time() understands is mm/dd/yyyy hh:mm:ss, in which the hours are in military time.
str | is the date/time string to be converted. |
int gk_strcasecmp | ( | char * | s1, |
char * | s2 | ||
) |
Case insensitive string comparison.
This function compares two strings for equality by ignoring the case of the strings.
s1 | is the first string to be compared. |
s2 | is the second string to be compared. |
1 | if the strings are identical, |
0 | otherwise. |
char* gk_strchr_replace | ( | char * | str, |
char * | fromlist, | ||
char * | tolist | ||
) |
Replaces certain characters in a string.
This function takes a string and replaces all the characters in the fromlist
with the corresponding characters from the tolist
. That is, each occurence of fromlist[i]
is replaced by tolist[i]
. If the tolist
is shorter than fromlist
, then the corresponding characters are deleted. The modifications on str
are done in place. It tries to provide a functionality similar to Perl's tr// function.
str | is the string whose characters will be replaced. |
fromlist | is the set of characters to be replaced. |
tolist | is the set of replacement characters . |
str
itself. char* gk_strdup | ( | char * | orgstr | ) |
Duplicates a string.
This function is a replacement for C's standard strdup() function. The key differences between the two are that gk_strdup():
The string that is returned must be freed by gk_free().
orgstr | is the string that will be duplicated. |
char* gk_strhprune | ( | char * | str, |
char * | rmlist | ||
) |
Prunes characters from the beginning of the string.
This function removes any starting characters that are included in the rmlist
. The trimming stops at the first character that is not in rmlist
. This function can be used to removed leading spaces, tabs, etc. This is a distructive operation as it modifies the string.
str | is the string that will be trimmed. |
rmlist | contains the set of characters that will be removed. |
str
itself. int gk_strrcmp | ( | char * | s1, |
char * | s2 | ||
) |
Compare two strings in revere order.
This function is similar to strcmp but it performs the comparison as if the two strings were reversed.
s1 | is the first string to be compared. |
s2 | is the second string to be compared. |
-1,0,1,if | the s1 < s2, s1 == s2, or s1 > s2. |
int gk_strstr_replace | ( | char * | str, |
char * | pattern, | ||
char * | replacement, | ||
char * | options, | ||
char ** | new_str | ||
) |
Regex-based search-and-replace function.
This function is a C implementation of Perl's s//
regular-expression based substitution function.
str | is the input string on which the operation will be performed. |
pattern | is the regular expression for the pattern to be matched for substitution. |
replacement | is the replacement string, in which the possible captured pattern substrings are referred to as $1, $2, ..., $9. The entire matched pattern is refered to as $0. |
options | is a string specified options for the substitution operation. Currently the "i" (case insensitive) and "g" (global substitution) are supported. |
new_str | is a reference to a pointer that will store a pointer to the newly created string that results from the substitutions. This string is allocated via gk_malloc() and needs to be freed using gk_free(). The string is returned even if no substitutions were performed. |
newstr
, which also needs to be freed afterwards. char* gk_strtolower | ( | char * | str | ) |
Converts a string to lower case.
This function converts a string to lower case. This operation modifies the string itself.
str | is the string whose case will be changed. |
str
itself. char* gk_strtoupper | ( | char * | str | ) |
Converts a string to upper case.
This function converts a string to upper case. This operation modifies the string itself.
str | is the string whose case will be changed. |
str
itself. char* gk_strtprune | ( | char * | str, |
char * | rmlist | ||
) |
Prunes characters from the end of the string.
This function removes any trailing characters that are included in the rmlist
. The trimming stops at the last character (i.e., first character from the end) that is not in rmlist
.
This function can be used to removed trailing spaces, newlines, etc. This is a distructive operation as it modifies the string.
str | is the string that will be trimmed. |
rmlist | contains the set of characters that will be removed. |
str
itself. char* gk_time2str | ( | time_t | time | ) |
Converts a time_t time into a string.
This function takes a time_t-specified time and returns a string-formated representation of the corresponding time. The format of the string is mm/dd/yyyy hh:mm:ss, in which the hours are in military time.
time | is the time to be converted. |