Traitement de chaine de caractere en C

Résolu
Bonjour

Voila je suis nouveau en C donc j'aimerai avoir des petites precision.
J'ai une chaine de caractere char *s="blallalalal" que je voudrais traite c'est a dire par exemple rajoute ou enleve des morceaux :

exemple

char *s="blalalalal";
(void) traitement (char *s) {

faire le traitement
}

char *saprestraitement="blalalalalsssssssssss";

Est ce que quelqu'un pourrai m'explique comment je peux faire ca merci
--
C* -----> Either exist as you are or be as you look <---- C*
Configuration: Linux
Firefox 1.0.7

6 réponses

  1. Contributeur
    Il y a énormément de fonctions disponibles dans la librairie standard pour manipuler des chaines de caractères:

    http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/string.3.html

    string, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk, strrchr, strsep, strspn, strstr, strtok, strxfrm, index, rindex - Opérations sur les chaînes de caractères (string).
    2
    1. Bonjour, il existe des fonctions en c qui font déjà ce travail pas besoin de se compliquer la vie.
      pour concaténer 2 char* il exsite strcat(char*, char*) et il doit en exister pour découper 2 chaines aussi.

      0
      1. Salut,

        Déjà pour initialiser ta chaîne de caractère en C, tu dois faire strcpy ou sprintf et non '=' (y a pas de std::)

        Ensuite pour concaténer oui il y a strcat et sprintf encore une fois. Pour séparer, soit tu fais un for qui boucle sur les cases qui t'intéresse, soit tu passes par un pointeur sur la case qui t'intéresse dans ta chaîne du genre ta_chaine_coupee=&ta_chaine_de_base[la_case_qui_t_interesse];
        0
        1. Contributeur
          Voici la liste des fonctions de bases en C pour les chaines de caracteres
          strcpy
          strncpy
          strcat
          strncat
          strcmp
          strncmp
          strlen
          strchr
          strrchr
          strstr
          strspn
          strcspn
          strpbrk
          strtok
          Consulte la doc pour plus de renseignements
          0
          1. Contributeur
            Si, tu peux initialiser une chaine par '='.
            char *mychaine="coucou"; va être accepter par le compilateur.
            Par contre, il ne faut pas le faire de manière dynamique sous peine de recevoir une belle erreur de segmentation.
            1