Comparer deux chaine de caractère
Résolu/Fermé
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
-
5 mai 2010 à 17:09
cobra85 Messages postés 132 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 15 novembre 2014 - 6 mai 2010 à 17:28
cobra85 Messages postés 132 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 15 novembre 2014 - 6 mai 2010 à 17:28
A voir également:
- Comparer deux chaine de caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractère spéciaux mac clavier - Guide
- Deux comptes whatsapp - Guide
6 réponses
Jaina_
Messages postés
78
Date d'inscription
mardi 4 mai 2010
Statut
Membre
Dernière intervention
1 juin 2010
9
5 mai 2010 à 17:56
5 mai 2010 à 17:56
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 !
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
5 mai 2010 à 18:08
5 mai 2010 à 18:08
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
Jaina_
Messages postés
78
Date d'inscription
mardi 4 mai 2010
Statut
Membre
Dernière intervention
1 juin 2010
9
6 mai 2010 à 11:08
6 mai 2010 à 11:08
Et bien alors quel est le problème, je ne comprends pas tout ! :D
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
6 mai 2010 à 17:21
6 mai 2010 à 17:21
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
Jaina_
Messages postés
78
Date d'inscription
mardi 4 mai 2010
Statut
Membre
Dernière intervention
1 juin 2010
9
6 mai 2010 à 17:27
6 mai 2010 à 17:27
Ah ok,
Par curiosité, le \n se rajoute dans ton buffer parce que tu faisais "entrer" pour valider ton login ?
Ou c'est automatique quand tu valides ton login ?
Par curiosité, le \n se rajoute dans ton buffer parce que tu faisais "entrer" pour valider ton login ?
Ou c'est automatique quand tu valides ton login ?
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
6 mai 2010 à 17:28
6 mai 2010 à 17:28
C'est cela sur l'interface du client, je rentrait le login et ensuite je faisait "entrer"