FASTSCANNERIP

Signaler
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010
-
Messages postés
267
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
27 novembre 2005
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17385-fastscannerip

Messages postés
267
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
27 novembre 2005

ouaip, bon ben apparemment, le caractere de fin de chaine (antislash 0) n'est pas affiche ici ...
Messages postés
267
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
27 novembre 2005

y'a des trucs qui ont mal passe :

champs[ligne][col] = '' ===> champs[ligne][col] = ''
(utilise 2 fois, c'est "Egale_Apostrophe_AntiSlash_Zero_Apostrophe (au cas ou ca ne repasse pas encore une fois))

if (!IsDigit(IpText[i]) Quitte_... ===> if (!IsDigit(IpText[i])) Quitte_...
(il manque une parenthese apres [i])

sinon tu peux faire un truc du meme genre avec un seul tableau de unsigned char, et en faisant la conversion vers un int quand tu detecte un point

autre solution : utiliser la fonction char * strchr (char *str , int ch);
qui rend un pointeur vers la premiere occurence du caractere ch dans la chaine str, renvoie NULL si le caractere n'est pas trouve

PS : j'avais pas mis les include non plus
#include<ctype.h> // pour isdigit
#include<string.h> // pour strlen
#include<stdlib.h> // pour atoi
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010

Comme je pensais, avec cette façon on à une recherche nettement plus rapide.
Ton code « kimmelf2 » ne fonctionne pas pour récupérer les 4 valeurs entre chaque point.
Le code sera mis a jour des que j’aurais résolu ce problème. Je vais continuer à optimiser la vitesse
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010

Oui,
Pour une calculatrice un point correspond à une virgule. Je me suis trompé, bref c’est bien un point.

Normalement, le FastScannerIP devrai aller encore beaucoup plus vite.

J’ai constaté, ci on regard ci il y a un serveur par l’intermédiaire d’un PING avant d’essayer de se connecté.
On obtient vraiment un temps de réponse plus rapide.
Je vais rajouter ton code et le PING pour savoir ci il y a un SERVEUR.

Voici ce que je vais rajouter, tu en pence quoi ?
http://www.cppfrance.com/code.aspx?ID=10221
Afficher les 6 commentaires