cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 2006
-
6 juin 2003 à 10:32
NS3 -
20 juin 2017 à 09:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Bonjour, merci pour votre code source, s'il vous plaît je suis débutant en programmation comme je doit procéder pour tester ces codes sources.
Suisse00
Messages postés83Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention12 octobre 2005 26 janv. 2004 à 02:29
4 erreur dans le client
Ligne 233 : error C2440: '=' : cannot convert from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Line 262 : error C2664: 'setsockopt' : cannot convert parameter 4 from 'void *' to 'const char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Line 280 : error C2664: 'setsockopt' : cannot convert parameter 4 from 'struct ip_mreq *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Line 288 : error C2664: 'recvfrom' : cannot convert parameter 6 from 'unsigned int *' to 'int *'
ben01n
Messages postés65Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 4 août 2010 10 juin 2003 à 08:41
pour le zip ça viendra mais d'abord je le perfectionne donc laissez moi vos commentaires sur des bugs ou des ameliorations possibles
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 7 juin 2003 à 10:33
un zip ca serait pas bien pour toi ca???
ben01n
Messages postés65Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 4 août 2010 6 juin 2003 à 14:38
merci de ton commentaire
je vais corriger mes boulettes tout de suite
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 6 juin 2003 à 10:32
Sur cette partie du code:
char porttest[5];
if ( argc >= 3 ) /* teste le nombre d'argument */
{
strcpy(porttest, argv[2]);
if ( isdigit(porttest[1]) == 0 ) /* test si le premier caractere du second argument est un chiffre ou pas */
{
printf ("erreur sur le port
"); /* le premier caractere n'est pas un chiffre */
return 1;
}
}
-> Remplace le strcpy() par un strncpy() car si l'utilisateur mets sur sa ligne de commande plus de 4 caractères le buffer porttest sera trop petit et donc plantage.
-> Tu compares le deuxième caractère et non le premier avec isdigit(porttest[1]).
20 juin 2017 à 09:06
26 janv. 2004 à 02:29
Ligne 233 : error C2440: '=' : cannot convert from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Line 262 : error C2664: 'setsockopt' : cannot convert parameter 4 from 'void *' to 'const char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Line 280 : error C2664: 'setsockopt' : cannot convert parameter 4 from 'struct ip_mreq *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Line 288 : error C2664: 'recvfrom' : cannot convert parameter 6 from 'unsigned int *' to 'int *'
10 juin 2003 à 08:41
7 juin 2003 à 10:33
6 juin 2003 à 14:38
je vais corriger mes boulettes tout de suite
6 juin 2003 à 10:32
char porttest[5];
if ( argc >= 3 ) /* teste le nombre d'argument */
{
strcpy(porttest, argv[2]);
if ( isdigit(porttest[1]) == 0 ) /* test si le premier caractere du second argument est un chiffre ou pas */
{
printf ("erreur sur le port
"); /* le premier caractere n'est pas un chiffre */
return 1;
}
}
-> Remplace le strcpy() par un strncpy() car si l'utilisateur mets sur sa ligne de commande plus de 4 caractères le buffer porttest sera trop petit et donc plantage.
-> Tu compares le deuxième caractère et non le premier avec isdigit(porttest[1]).