aAPT
dDebian
fFFmpeg
jJava
mMercurial: Usage
oOCaml
pPostgreSQL

Home Code C

C: Strings

Starts with prefix

bool str_starts_with(const char *s, const char *prefix) {
    return strncmp(s, prefix, strlen(prefix)) == 0;
}

Ends with suffix

bool str_ends_with(const char *s, const char *suffix) {
    size_t s_size = strlen(s);
    size_t suffix_size = strlen(suffix);
    return (suffix_size > s_size) ? false : strcmp(s + s_size - suffix_size, suffix) == 0;
}

Concatenation (with heap allocation)

char *str_concat(const char *s, const char *suffix) {
    size_t s_size = strlen(s);
    size_t suffix_size = strlen(suffix);
    char *result = malloc(s_size + suffix_size + 1);

    if (result == NULL)
        return NULL;

    strcpy(result, s);
    strcpy(result + s_size, suffix);

    return result;
}