PHPBBIntegrare PHPBB PHPFunzioni PHP CFunzioni C EcologiaLa mia ecologia   Chi siamoChi è Senamion HomeHome page corner Il Web e l'ecologia

Senamion


Chi siamo:

Il web e l'ecologia, condividere il web e un momento di riflessione sullo stato dell'ecologia e sul suo futuro

Google

[C] Togliere gli spazi da una stringa (trim)

5 Giugno 2006 by Giovanni | Argomenti: none | 11679

Ecco tre funzioni di utilità in linguaggio C per togliere gli spazi (blank) da una stringa null terminated.

Le tre funzioni permettono di togliere gli spazi a destra, a sinistra, o in tutta la stringa.

Funzione che toglie gli spazi a destra della stringa: str_r_trim

char *str_r_trim(char *str) { char *attuale; for (attuale = str + strlen(str) - 1; (*attuale == ' ' || *attuale == 't') && (attuale >= str); --attuale) ; *(++attuale) = ''; return(str); }

Va passata una stringa e ritorna la stessa stringa senza spazi a destra.

Funzione che toglie gli spazi a sinistra:

char *str_l_trim(char *stringa) { char *attuale, *in_no_b; for (in_no_b = stringa; *in_no_b == ' ' || *in_no_b == 't'; ++in_no_b) ; for (attuale = stringa; *in_no_b != ''; ++attuale, ++in_no_b) *attuale = *in_no_b; *attuale = ''; return(stringa); }

Funzione che toglie gli spazi in tutta la stringa:

char *str_trim(char *stringa) { char *attuale, *in_no_b; for (attuale = in_no_b = stringa; *attuale != ''; ++attuale) if (*attuale != ' ' && *attuale != 't') *(in_no_b++) = *attuale; *in_no_b = ''; return(stringa); }

Ricordarsi che vengono tolti gli spazi direttamente sulla stringa passata.

Per toglierli in testa e coda é sufficiente richiamare sia la funzione che toglie a destra sia quella che toglie gli spazi a sinistra: str_r_trim(str_l_trim(stringa))

Pubblicato in Funzioni e classi PHP e C |

4 Commenti a “[C] Togliere gli spazi da una stringa (trim)”

  1. Davide scrive:

    COMPLIMENTI!!
    3 ottime funzioni che mi servivano.
    GRAZIE x aver condiviso il tuo lavoro.

  2. Roberto scrive:

    Perchè c’è anche quel ‘t’??
    Così rimuove anche le lettere ‘t’ …

    (*attuale == ‘ ‘ || *attuale == ‘t’)

  3. Giovanni scrive:

    Wordpress s’é perso il backslash :(

  4. Paolo scrive:

    Scusa… ma non riesco!!!
    Mi da questo errore:

    $ gcc codfis.c
    In file included from codfis.c:2:
    str_trim.h:1:104: empty character constant
    str_trim.h:1:195: empty character constant

    Non so come risolvere… Mi sai aiutare??? GRAZIE

Scrivi un commento