[C++] Comment utiliser les fonctions memcmp ???

Comment utiliser les fonctions memcmp ??? [C++] - C++ - Programmation

Marsh Posté le 05-05-2002 à 23:19:00    

voilà je veux comparer 2 tableaux de char valides (qui se finissent par '/0';) mais je sais pas comment utiliser les fonctions memcmp / strcmp / stricmp / strncmp .
donc si qqun pouvait me filer un ex svp :)

Reply

Marsh Posté le 05-05-2002 à 23:19:00   

Reply

Marsh Posté le 05-05-2002 à 23:35:56    

- strcmp compare 2 chaînes censées se terminer par un \0. A priori, c'est celle là que tu dois utiliser dans ton cas.
 
- strncmp se limite aux n premiers caractères (à moins de trouver un \0 avant d'atteindre la limite).
 
- memcmp compare une suite d'octets quelconques (avec une longueur définie en paramètre). Il peut donc y avoir des \0 dans la suite d'octets comparés.
 
Dans tous les cas, tu passes 2 pointeurs sur les débuts de chaîne/suite d'octets. Pour strncmp et memcmp, faut aussi passer la longueur.

Reply

Marsh Posté le 06-05-2002 à 01:31:08    

ok ..
est-ce que j'ai le droit de faire ça par ex. ?
 
strcpy(SuiteStTemp->Nom,MaillonStTemp2->Nom);
 
suitesttemp->nom est un champ d'une structure, ce champ etant enfait un tableau de char qui se finit par un \0 , idem pour maillonsttemp2->nom

Reply

Marsh Posté le 06-05-2002 à 10:50:11    

Moriaben a écrit a écrit :

ok ..
est-ce que j'ai le droit de faire ça par ex. ?
 
strcpy(SuiteStTemp->Nom,MaillonStTemp2->Nom);
 
suitesttemp->nom est un champ d'une structure, ce champ etant enfait un tableau de char qui se finit par un \0 , idem pour maillonsttemp2->nom  



A priori, oui.
Faut juste être sur que la destination est d'une taille suffisante (nombre de caractères de la source + 1 pour le \0). Par contre, ce n'est pas indispensable que la destination soit terminée par un \0 (de toute façon, le contenu sera écrasé).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed