Lire des caractères dans une chaîne

[Résolu]
Signaler
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012
-
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012
-
voila mon problème: j'ai une chaîne de caractère (qu'on nommera ChCar)
saisi par l'utilisateur, je voudrais pouvoir connaitre les quatres
derniers caractères.



Ex: "parapente"=ChCar

Commande(ChCar)="ente"



Après je pourrais comparer ses caractères a d'autres (mais ca je sais faire)



Merci

10 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Erf j'ai fait boulette.
Ca ne répond pas excatement a ta question.
Voila une autre solution plus sumple et mieux adapté :

char szChCar[256];
char szBuffer[5];

strncpy(szBuffer, szChCar + (strlen(szChCar) - 4), 4);

printf("Voila les 4 dernieres lettres : %s", szBuffer);

Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
char *szBuffer = new char[256];

strcpy(szBuffer,"salut ca va?");

while(*szBuffer++) { }

for(i=0;i<4;i++)
printf("%c ", --szBuffer);

J'ai pas testé mais ca devrai marcher



Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Pour info, le seul incovénient c'est que tu perd la position de départ de ton pointeur.
Pour y pallier fait une recopie de ton pointeur de départ.

Shell
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
char *c;
int len = strlen(machaine);
if(len < 4) PAS BON, ON SORT
c = machaine + len - 4;
return strcmp(c, autreChaine);

ciao...
BruNews, MVP VC++
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
BruNews ton code est risqué. S'il modifie c, il va aussi modifier machaine ce qui peut poser problème.

Shell
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Un dev n'est généralement pas recruté parmi les déficients mentaux, je veux donc le croire responsable de ses actes.
Comparer != Modifier

ciao...
BruNews, MVP VC++
Messages postés
364
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 octobre 2006
2
Salut,

sinon il y a :



strncmp( c, autreChaine, 4 )
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

ok je vais tester tout ca et je dit quoi



thx
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
BruNews> Mdr ca veurt dire que j'ai un deficient mental ?

Shell
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

meu non Shell, la preuve c'est que ton truc il marche, merci bien