Je dois écrire un programme pour analyser un fichier texte et récupérer toutes les adresses IP (au format 256.256.256.256) dans le fichier.Code C++ pour trouver toutes les adresses IP dans un fichier
Répondre
Vous pouvez écrire un BNF en utilisant Boost::spirit ou créer une expression régulière pour trouver les adresses IP en utilisant Boost::regex
Peut-être que vous devriez essayer d'utiliser des expressions régulières? Vous pouvez lire le fichier, en l'analysant ligne par ligne, puis utiliser une expression régulière sur la ligne pour extraire les adresses IP.
Si le fichier contient uniquement des adresses IP et aucun autre texte, il peut être plus facile d'utiliser scanf
, avec "%hhu.%hhu.%hhu.%hhu"
comme chaîne de format.
Est-ce que ça doit vraiment être C++? Les expressions régulières et grep
sont vos amis!
Peut-être veut-il établir des connexions avec les adresses IP qu'il lit. – dreamlax
Cette expression régulière fera l'affaire:
\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
Modifier ce code pour vos besoins spécifiques:
using namespace System::Text::RegularExpressions;
void doTheMatch(String^ inputString, String^ filter)
{
Console::WriteLine("original string: {0}", inputString);
Console::WriteLine("attempt to match: {0}", filter);
Regex^ regex = gcnew Regex(filter);
Match^ match = regex->Match(inputString);
if (! match->Success)
{
Console::WriteLine(
"Sorry, no match of {0} in {1}", filter, inputString);
return;
}
for (; match->Success; match = match->NextMatch())
{
Console.WriteLine(
"The characters {0} match beginning at position {1}",
match->ToString(), match->Index);
}
}
- 1. Comment faire pour que Fiddler écoute toutes les adresses IP
- 2. Format toutes les adresses IP à 3 chiffres
- 3. comment comparer les adresses IP
- 4. Découvrez les adresses IP des clients connectés?
- 5. Comment trouver les plages d'adresses IP à partir de la liste des adresses IP
- 6. Simulation de plusieurs adresses IP pour les tests
- 7. Adresses IP JBoss Binding
- 8. Tomcat accepte-t-il les adresses IP?
- 9. Rediriger toutes les adresses IP à l'exception de celles figurant dans la liste blanche
- 10. D'où viennent ces adresses IP?
- 11. trouver l'adresse IP dans mon réseau
- 12. Avec plusieurs adresses IP dans la poignée de domaine, comment les adresses IP défaillantes sont-elles gérées?
- 13. un million d'enregistrements dans le fichier journal pour un site de magasinage en ligne. FInd adresses IP distinctes
- 14. Comment contrôler les connexions ouvertes à certaines adresses IP pour un programme en cours d'exécution en utilisant C#
- 15. Adresses IP de la classe B: diffusion
- 16. Trouver toutes les majuscules dans les colonnes?
- 17. Trouver l'erreur dans ce code de lecture de fichier (C++)
- 18. Comment trouver toutes les initialisations dans un texte?
- 19. Regex pour trouver les blocs de code en C#
- 20. Trouver toutes les fonctionnalités dans Lucene
- 21. trouver toutes les valeurs en double dans un attribut d'élément
- 22. (Python) socket.gaierror sur toutes les adresses ... sauf http://www.reddit.com?
- 23. Voir les sites qui utilisent les adresses IP dans IIS 7
- 24. Comment puis-je remplacer toutes les adresses hotmail.com dans un fichier par une autre adresse e-mail, en utilisant Perl?
- 25. Trouver tous les * rendus images * dans un fichier HTML
- 26. Erreur de point de terminaison avec plusieurs adresses IP
- 27. Fonctions pour manipuler les adresses IPv4 en C#?
- 28. trouver toutes les dépendances dans une compilation verilog
- 29. Comment puis-je grep les journaux d'accès au serveur pour les adresses IP uniques et une page spécifique?
- 30. Trouver tous les nom de fichier dans C
256 n'est pas un octet valide, par la manière. – paxdiablo
Merci à tous pour vos contributions. Expression régulière c'est .. Prévoyant aussi d'utiliser perl, devinez le rendra beaucoup plus simple. –