Traitement de chaine de caractere en C

Résolu
LaZo61 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
LaZo61 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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