giovedì 22 novembre 2018

Trim di stringhe in C

Ecco l'implementazione in C delle tre funzioni Basic Trim, LTrim e RTrim.
L'articolo completo con le spiegazioni si trova qui https://sebcosta.altervista.org/joomla/articles/9-trimstringc.html

Questi i prototipi:

char *rtrim(char *str);
char *ltrim(char *str);
char *trim(char *str);

Ecco l'implementazione:

char *rtrim(char *str)
{
    size_t len;
    char *p;
    
    len = strlen(str);
    if (len > 0)
    {
        p = str + len;
        do 
        {
            p--;
            if (!isspace(*p))
                break;
            *p = '\0';
        } while (p > str);
    }

    return str;
}
 
char *ltrim(char *str)
{
    char *pstart;
    char *p;

    pstart = str;
    while (isspace(*pstart))
        pstart++;

    if (pstart > str)
    {
        p = str;
        while(*pstart)
        {
            *p = *pstart;
            pstart++;
            p++;
        }
        *p = '\0';
    }

    return str;
} 
 
char *trim(char *str)
{
    rtrim(str);
    ltrim(str);

    return str;
} 

Nessun commento:

Posta un commento