Rechercher : dans
Par :

Traitement de chaine de caractere en C

Dernière réponse le 11 mai 2007 à 10:10:18 LaZo61, le 11 mai 2007 à 09:26:24 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Traitement de chaine de caractere en C » dans :
Les chaînes de caractères en C++ Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
Chaînes VoirChaînes En programmation, nous avons souvent besoin de lire ou de manipuler des séquences de caractères. Pour compléter les chaînes littérales décrites précédemment, la bibliothèque standard fournit le type stringxe "string (bibliothèque)"xe...

1

lefoufighter, le 11 mai 2007 à 09:30:21

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.

Il n'existe que deux choses infinies, l'univers et la bêtise humaine...
mais pour l'univers, je n'ai pas de certitude absolue. <Albert Einstein>

Répondre à lefoufighter

2

Stupeflip, le 11 mai 2007 à 09:53:52

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];
Qui n'a rien n'a rien (Proverbe Norvillois)

Répondre à Stupeflip

3

fiddy, le 11 mai 2007 à 09:54:47

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

Répondre à fiddy

4

dubcek, le 11 mai 2007 à 09:56:02
  • +1

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).

Répondre à dubcek

5

fiddy, le 11 mai 2007 à 09:58:03

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.

Répondre à fiddy

6

 LaZo61, le 11 mai 2007 à 10:10:18

Merci a tous C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61