C: passage en parametre "\n \t"

GUTENFRIDEN -  
 GUTENFRIDEN -
GUNTENTAG tlm

j'ai un souci avecune fctio ki pren en param un chaine de caractere
Je veux lui passer des chaines quelquonques.
Or quand je lui passe une chaine comportant \n ou \t il ne les considere pas comme des car normaux mais les considere comme une tab ou un saut de ligne

exemple

maFct("coucou\tGUTENFRIDEN\n");

si dans ma fct je compare la chaine msg passe en param a une autre cela ne marche pas

maFct(char * msg)
{
char * comp = "coucou\tGUTENFRIDEN\n" ;
if (!strcmp(msg ,comp ))
printf("youpi ca marche");
else
printf("Pkoi ca marche pas??????");
}

Ceci affiche tt le tps Pkoi ca marche pas??????

Alors kelkun pourrai repondre a la question de ma fction
Pkoi ca marche pas???????????

Merci a tous pour vos reponses

4 réponses

asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
tu lui dit que si *msg et *comp NE sont PAS identique il doit repondre "youpi ca marche" comme dans cet exemple les deux sont identique il met que ca ne marche pas c'est normal... pour verifier essay avec deux chaine differentes

bye

Bretoned, karit Breizh, bro ho tadou!
0
Benouith Messages postés 2210 Date d'inscription   Statut Membre Dernière intervention   50
 
En réponse à "asevere", strcmp retourne 0 en cas de chaine identique...
Pour le \n de fin, c'est normal, pas besoin de le mettre. J'ai pas de compilo C sous la main, mais essaye ça :

CompareCh(char *msg)
{
char *comp = "Chaine\ttest" ;
if (!strcmp(msg, comp ))
printf("youpi ca marche");
else
printf("Pkoi ca marche pas??????");
}

Et l'appel :
CompareCh("Chaine\ttest");

A +.
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
je sais bien que strcmp renvoi 0 si les deux chaine sont identique!

mais !0 = 1

donc le resultat du prog est correct si il est "Pkoi ca marche pas??????"!

enleve le point d'exclamation(!) dans ton if et ca devrait afficher youpiii ca marche!

@+

Bretoned, karit Breizh, bro ho tadou!
0
GUTENFRIDEN
 
Merci de vos conseils

Le pb etait lier a d'autre param
J'en suis sorti mainteneant

@+
0