Comparer deux chaine de caractère
Résolu
cobra85
Messages postés
132
Date d'inscription
Statut
Membre
Dernière intervention
-
cobra85 Messages postés 132 Date d'inscription Statut Membre Dernière intervention -
cobra85 Messages postés 132 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit souci pour comparer 2 chaines de caractères:
voici le code:
Le code est un peu simplifie ici !!
Je voudrai mettre la valeur que je reçoit dans la chaine de caractère "login" pour ensuite la comparer avec la chaine "login1"
Merci de votre aide.
J'ai un petit souci pour comparer 2 chaines de caractères:
voici le code:
char login1[50]="admin"; char mdp1[50]="azerty"; char login[50]=""; char mdp[50]=""; int main() { if(recv(ns, login, 50, 0) != SOCKET_ERROR) { printf("Recu : %s\n", login); } if (strcmp(login1, login) == 0) // Si strcmp renvoie 0 (chaînes identiques) { printf("Les logins sont identiques\n"); } else { printf("login differents\n"); } }
Le code est un peu simplifie ici !!
Je voudrai mettre la valeur que je reçoit dans la chaine de caractère "login" pour ensuite la comparer avec la chaine "login1"
Merci de votre aide.
A voir également:
- Comparer deux chaine de caractère
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
6 réponses
Salut !
Je ne comprends pas pourquoi ça ne fonctionne pas.
Le deuxième argument "login" de la fonction recv doit normalement recevoir les informations. "login" est bien un char.
A mon avis, le problème ne vient pas de ce bout de code, mais plutôt de la fonction recv et de ta socket "ns".
Mais là c'est un autre problème !
Je ne comprends pas pourquoi ça ne fonctionne pas.
Le deuxième argument "login" de la fonction recv doit normalement recevoir les informations. "login" est bien un char.
A mon avis, le problème ne vient pas de ce bout de code, mais plutôt de la fonction recv et de ta socket "ns".
Mais là c'est un autre problème !
Salut,
C'est possible mais il m'affiche bien le "login" qu'il reçcoit par la fonction recv:
il affiche: Recu: admin
C'est possible mais il m'affiche bien le "login" qu'il reçcoit par la fonction recv:
printf("Recu : %s\n", login)
il affiche: Recu: admin
Salut,
En faite, le problème n'est pas visible à l'oeil nu. Pour le voir, il a fallu que je compte le nombre de caractère en faisant cela, je me suis aperçu qu'il transmettait 6 caractères au lieu des 5, donc il y avait un '\n' à la fin.
Pour que la comparaison puisse se faire, il a fallu rajouter ce bout de code:
et ensuite je compare.
Merci
En faite, le problème n'est pas visible à l'oeil nu. Pour le voir, il a fallu que je compte le nombre de caractère en faisant cela, je me suis aperçu qu'il transmettait 6 caractères au lieu des 5, donc il y avait un '\n' à la fin.
Pour que la comparaison puisse se faire, il a fallu rajouter ce bout de code:
static void search(char *login) { char *p = strchr(login, '\n'); if (p) { *p = 0; } } int main { if (recv(ns, login, 50, 0) != SOCKET_ERROR) { search(login); printf("\nRecu :%s", login); } }
et ensuite je compare.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question