J'ai fatigué de comparer la chaîne de telle façon:comparaison pour les chaînes en C. tampon contre une chaîne littérale
if(strcmp(buf, "AUTHENTICATE") != 0) {
Mon tampon contient « AUTHENTICATE » chaîne à l'intérieur comme vous pouvez le voir sur l'inspecteur du débogueur. Mais le résultat est que strcmp renvoie une valeur différente de 0. Pourquoi?
juste une conjecture sauvage: est-ce que 'buf' contient l'octet de fin '' \ 0 ''? S'il y a des informations vitales sur l'image, veuillez le fournir comme texte dans votre question. –
que faire si vous comparez le buf vide? validez-vous buf n'est pas vide? – LethalProgrammer
Il contient. L'exemple semble fonctionner maintenant. J'ai fait du nettoyage, j'ai construit plusieurs fois et j'ai commencé à travailler. Donc, le code ci-dessus fonctionne correctement! –