Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/10/2008, à 16:06

lebossejames

[resolu] probleme strcmp en c

bonjour,

j'ai fait un if:

if(strcmp(nom,"bonjour")==0)
{


printf("%s",nom);

}

on rentre dans le if mais j'ai fait une printf(nom) et cela met "bonjour" au lieu de l'autre nom que j'ai déclaré en argument de la fonction.

Dernière modification par lebossejames (Le 18/10/2008, à 17:18)

Hors ligne

#2 Le 18/10/2008, à 16:09

slasher_fun

Re : [resolu] probleme strcmp en c

Si on a pu rentrer dans le if, c'est que nom == "bonjour", donc c'est normal smile

Hors ligne

#3 Le 18/10/2008, à 16:12

chcamier

Re : [resolu] probleme strcmp en c

Bonjour,

Tu l'as initialisé comment la variable nom ? par un gets ou fgets ?

Pour être certain du contenu de cette variable, tentes un :

printf("[%s]\n", nom);

Si la réponse est :
[bonjour
]

C'est qu'il y a un caractère saut de ligne en fin de chaîne. Elle contiendrait donc la chaîne "bonjour\n" et non "bonjour".

A+
CC

Hors ligne

#4 Le 18/10/2008, à 16:12

lebossejames

Re : [resolu] probleme strcmp en c

donc si on veut qu'il ne rentre pas il faut mette ==1

Hors ligne

#5 Le 18/10/2008, à 16:13

slasher_fun

Re : [resolu] probleme strcmp en c

Non, car dans ce cas il y rentrerait quand même si nom se trouve avant "bonjour" dans l'ordre alphabétique. C'est plutôt !=0 qu'il faut utiliser

Hors ligne

#6 Le 18/10/2008, à 16:13

lebossejames

Re : [resolu] probleme strcmp en c

char nom[20]

Hors ligne

#7 Le 18/10/2008, à 16:14

lebossejames

Re : [resolu] probleme strcmp en c

car je veux faire un si le nom est bien bonjour alors on rentre dans le si

si le nom n'est pas bonjour alors on fait ceci....

Hors ligne

#8 Le 18/10/2008, à 17:06

lebossejames

Re : [resolu] probleme strcmp en c

désolé d'avoir mal exprimé dans les réponses car j'avais un problème de touches de mon clavier ....

Hors ligne

#9 Le 18/10/2008, à 17:08

lebossejames

Re : [resolu] probleme strcmp en c

mais si vous me dites que strcmp(nom,"bonjour") ==0   c'est équivalent à nom=="bonjour"?

alors comment faire nom!="bonjour" ?

Hors ligne

#10 Le 18/10/2008, à 17:13

Link31

Re : [resolu] probleme strcmp en c

On t'a déjà répondu.

strcmp(nom, "bonjour") == 0 équivaut à (pseudo-code) : nom == "bonjour"
strcmp(nom, "bonjour") != 0 équivaut à (pseudo-code) : nom != "bonjour"

La fonction strcmp(), sans rentrer dans les détails, renvoie les différences entre les chaînes de caractère contenues dans ses deux arguments. Elle ne renvoie pas "vrai" ou "faux".

Au passage, tu devrais utiliser strncmp().

Dernière modification par Link31 (Le 18/10/2008, à 17:13)

Hors ligne

#11 Le 18/10/2008, à 17:17

lebossejames

Re : [resolu] probleme strcmp en c

ok c'est bon merci bcp.

Hors ligne