Lire des caractères dans une chaîne

Résolu
phenX Messages postés 705 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 - 20 oct. 2005 à 11:48
phenX Messages postés 705 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 - 20 oct. 2005 à 14:27
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

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 oct. 2005 à 12:42
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
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 oct. 2005 à 12:37
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
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 oct. 2005 à 12:38
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
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 17
20 oct. 2005 à 12:48
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++
0

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

Posez votre question
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 oct. 2005 à 12:50
BruNews ton code est risqué. S'il modifie c, il va aussi modifier machaine ce qui peut poser problème.

Shell
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 17
20 oct. 2005 à 13:07
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++
0
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
20 oct. 2005 à 13:19
Salut,

sinon il y a :



strncmp( c, autreChaine, 4 )
0
phenX Messages postés 705 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
20 oct. 2005 à 14:09
ok je vais tester tout ca et je dit quoi



thx
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 oct. 2005 à 14:19
BruNews> Mdr ca veurt dire que j'ai un deficient mental ?

Shell
0
phenX Messages postés 705 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
20 oct. 2005 à 14:27
meu non Shell, la preuve c'est que ton truc il marche, merci bien
0
Rejoignez-nous