Accueil > Forum > > > > comparaison de chaine
comparaison de chaine
lundi 11 octobre 2004 à 20:49:44 |
comparaison de chaine

erwan35
|
Bonjour à tous, Je voudrais comparer les 8 derniers caractères d'une chaine de caractères en c++(v1.5), si elle sont égales alors action1 sinon action2. J'ai déja essayer de réaliser qqc mais à chaque fois il me réponds que les chaines sont identiques. Merci d'aider le débutant que je suis. Erwan
|
|
lundi 11 octobre 2004 à 21:36:15 |
Re : comparaison de chaine

Hades53
|
Salut! #include <string.h> int cmp(char *str1,char *str2) { int max1 = strlen(str1), max2 = strlen(str2), p1 = max1 - 5, p2 = max2 - 5; if (max1 < 5 || max2 < 5) return 0; for (int i = 0;i < 5;i++) if (str1[p1+i] != str2[p2+i]) return 0; return 1; }
|
Usage: cmp(chaîne1,chaîne2), retourne 1 si les cinq derniers caractères de deux chaînes sont identiques.
|
|
lundi 11 octobre 2004 à 21:38:27 |
Re : comparaison de chaine

Hades53
|
Arf j'ai mal lu, pour les huit derniers caractères, il suffit de remplacer les "5" par des "8" (sans les guillemets bien sûr).
|
|
lundi 11 octobre 2004 à 21:38:54 |
Re : comparaison de chaine

Hylvenir
|
Qu'est que tu as déjà fait ?
// Ma participation à la saturation du net: // http://hylvenir.free.fr
|
|
lundi 11 octobre 2004 à 22:00:18 |
Re : comparaison de chaine

erwan35
|
Merci pour votre aide!
J'ai placé le module de Hades53 à la fin de mon code et ceci dans mon code :
if (cmp(CodeA,CodeAprime)==1){ im_clear_screen(); Affiche(0,0,"A "); Affiche(0,3,CodeA); Affiche(1,0,"A' "); Affiche(1,3,CodeAprime); Affiche(5,0,"Si OK_______ Enter"); }
J'obtiens les erreurs suivantes :
c:\docume~1\famille\bureau\copied~1\trakker.c(550) : error C2143: syntax error : missing ';' before 'type' c:\docume~1\famille\bureau\copied~1\trakker.c(550) : error C2143: syntax error : missing ';' before 'type' c:\docume~1\famille\bureau\copied~1\trakker.c(550) : error C2062: type 'int ' unexpected c:\docume~1\famille\bureau\copied~1\trakker.c(550) : error C2065: 'i' : undeclared identifier c:\docume~1\famille\bureau\copied~1\trakker.c(550) : error C2143: syntax error : missing ';' before ')'
la ligne 550 est la ligne qui contient le for
Voyez vous d'où ça vient?
|
|
lundi 11 octobre 2004 à 22:21:48 |
Re : comparaison de chaine

Hades53
|
Place le module au début ou dans un fichier .h. Si tu le places à la fin, ça risquera vraiment pas de marcher.
|
|
lundi 11 octobre 2004 à 22:25:30 |
Re : comparaison de chaine

Hades53
|
Réponse acceptée !
Tiens essaye dans ce format: int cmp(char *str1,char *str2) { int max1 = strlen(str1); int max2 = strlen(str2); int p1 = max1 - 8; int p2 = max2 - 8; int i = 0; if (max1 < 8 || max2 < 8) return 0; while (i < 8) { if (str1[p1+i] != str2[p2+i]) return 0; i++ } return 1; }
|
|
|
mardi 12 octobre 2004 à 00:15:45 |
Re : comparaison de chaine

erwan35
|
merci beaucoup!
Ca marche à la perfection!
|
|
mardi 12 octobre 2004 à 16:27:58 |
Re : comparaison de chaine

vecchio56
|
Solution plus propre: utiliser strncmp, cette fonction est faite pour comparer les n premiers caractères de deux chines strncmp(str1, str2, n); renvoie un résultat du même type de strcmp (nul si egal...)
|
|
mardi 12 octobre 2004 à 18:01:25 |
Re : comparaison de chaine

djl
|
erwan35 > sincerement prefere la solution de vecchio56
et on est bien d'accord qu'en c++ tu aurais tout a gagner a utiliser std::string...
|
|
Cette discussion est classée dans : chaine, comparaison, caractères
Répondre à ce message
Sujets en rapport avec ce message
HELP...chaine de caractères....en C..défi TP [ par SniPi ]
Voici un exercice bien sympatique à faire en C.Je vous passerez le corrigé de ce TP mercredi prochain, en attendant j'aimerais voir ce que vous pensez
Copie d'une chaine Hexa dans une Chaine de caractères [ par lyde ]
Bonjour,je souhaiterais copier la chaine hexa "010601AE0205040045" dans une variable de type TCHAR * qui est quasiment equivalente a un char *.Cependa
int => chaine de caractères ? [ par kjus ]
vala, il me faudrait transformer une variable int en chaine de caractère.Y a-t-il une fonction toute faite ?en fait, mon but est de l'inscrire dans un
Pointeurs et copie de caractères [ par Vaughn018 ]
Bonjour,La mémoire ne peut etre 'written', un grand classique mais dans mon cas j'ai du mal à comprendre. Mieux vaut du code que des explications, alo
Construction d'un arbre à partir d'une chaine de caractères [ par dahlsimus ]
Bonjour, Je souhaite construire un arbre représentant une expression booléenne saisie sous le forme d'une chaîne de caractère (ex: (a+b).C avec + OR e
chaine de caractères et fichier [ par wanny ]
Bonjour.Je voudrais savoir comment faire pour supprimer une chaine de caractères spécifiques dans un fichier texte...Merci d'avance.wanny
transformer un caractère en une chaine de caractères [ par zarce ]
bonjour j'utilise une fonction qui affiche à l'écran (graphique) des chaines de caractères la syntaxe est du style ...DrawString(posX,posY, chaine de
chaine de caractères [ par Goldberg ]
Bonjour, comment faire ern C pour 1) introduire deux chaines de caractère (en fait rien que des valeurs numériques) 2) pouvoir additionner les prem
Découpage de n premiers caractères d'une chaine [ par Guidelor ]
BonjourJ'ai une chaine1 ="aaaaaaaaa123456"J'aimerais enlever "aaaaaaaaa"comment faire sachant que ce que je ve enlever est situé entre le 1er et le 10
Comparaison de chaine [ par anek971 ]
Bonjour a tous,ben enfaite je c ca parait bete mais j'ai un agneda a faire j'arrive a faire tt les fontcions sauf la comparaison de chaines,bah enfait
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|