Traitement de chaine de caractere en C

Résolu
LaZo61 Messages postés 53 Statut Membre -  
LaZo61 Messages postés 53 Statut Membre -
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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  3. lefoufighter Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   99
     
    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
  4. Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  7. LaZo61 Messages postés 53 Statut Membre 5
     
    merci a tous
    0