Découpage de n premiers caractères d'une chaine

Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006 - 19 mars 2004 à 19:06
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 23 mars 2004 à 14:00
Bonjour

J'ai une chaine1 ="aaaaaaaaa123456"
J'aimerais enlever "aaaaaaaaa"
comment faire sachant que ce que je ve enlever est situé entre le 1er et le 10e caractère à partir du debut ?

Quelle fonction dois-je utiliser ?

D'avance merci pour votre reponse qui va m'être très utile !

:: Guidelor ::

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mars 2004 à 19:31
a condition que chaine1 ne soit pas une constante:
char *c = chaine1;
while(*c) {
if(*c != 'a') break;
c++;
}
strcpy(chaine1, c);

ciao...
BruNews, Admin CS, MVP Visual C++
0
Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006
19 mars 2004 à 21:44
Super ! Merci BruNews !
je conaissais pas cette technique , que je comprends toujours pas d'ailleurs...
la chaine est incrementée ?? et en plus à chaque fois elle se tronque de son premier caractere ??
Fo que tu m'expliques !

:: Guidelor ::
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mars 2004 à 21:51
La chaine incrementee ???
Le pointeur se deplace et rien de plus.
On reprend en plus court:

On met un pointeur au debut de la chaine:
char *c = chaine1;

on pousse tant que ce qu'il y a a son adresse est != 'a'
while(*c == 'a') c++;

c POINTE maintenant sur un caractere != 'a':
Recopie a l'adresse chaine1 ce qui est a l'adresse c:
strcpy(chaine1, c);

Tu y vois un truc mystique ?

ciao...
BruNews, Admin CS, MVP Visual C++
0
lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
23 mars 2004 à 13:54
utilise une CString tu verras c'est beaucoup plus simple

CString machaine = "toto";
char moncaractere
moncaractere = machaine[0]
moncaractere vaudra le codce ascii de t


be linux
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 mars 2004 à 14:00
lpikachu58 > Enfin soyons serieux, Guidelor a besoin d'apprendre la prog. Y a encore plus facile que CString, il peut rester au VB, c'est a peine plus mauvais.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous