IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Traitement de fichier


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Par défaut Traitement de fichier
    Bonjour,

    Voici le type de fichier que je dois traiter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    No.     Time           Protocol Source                Destination           Port_S Port_D Lenght Info
      10411 90.451620000   ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    ESP (SPI=0x75ffc42c)
      10412 90.451627000   ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    [TCP Out-Of-Order] ESP (SPI=0x75ffc42c)
      10413 90.452197000   ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    ESP (SPI=0x75ffc42c)
      10414 90.452204000   ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    [TCP Out-Of-Order] ESP (SPI=0x75ffc42c)
      10417 90.491923000   ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    ESP (SPI=0x75ffc42c)
    ........
    1160895 9951.461182000 ISAKMP   80.214.48.4           141.6.18.116          isakmp isakmp 162    Informational
    1160896 9951.461188000 ISAKMP   80.214.48.4           141.6.18.116          isakmp isakmp 162    [TCP Out-Of-Order] Informational
    1173065 10110.296662000 ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    ESP (SPI=0x26692842)
    1173066 10110.296668000 ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    [TCP Out-Of-Order] ESP (SPI=0x26692842)
    1173067 10110.316924000 ESP      80.214.48.4           141.6.18.116          dsom-server ndmp   178    ESP (SPI=0x26692842)
    En fait mon gros soucis est que je traite ligne par ligne en faisant des scanf %s pour prendre partie par partie. Le problème vient lorsque le protocol contient un espace car ça décale tout d'un cran ....

    Ma 1ere idée était de compter les largeurs des premières colonnes en parcourant la 1ere ligne et en repérant le T, le P et le S. Ca marche bien et dans l'intervalle je change les espaces en '.' mais à partir d'un certain moment, le time dépasse les 10 000 et ça décale d'un cran mais je ne sais pas si c'est systématique ou si c'est du à la configuration de wireshark au moment de l'export ....

    Bref je comptais ensuite parcourir chaque ligne et repérer la colonne protocol en faisant des tests sur les caractères à gauche et à droite ( time et source ) qui sont des nombres. Mais le problème est que certain protocols contiennent des nombres ...

    Est-ce que quelqu'un aurait une idée pour isoler efficacement une colonne svp ?

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    fgets + strtok

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Par défaut
    et je fais des strtok sur quel caractère ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    comme d'habitude

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strtok ( chaine, " \n\t\r");

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Par défaut
    Je suis pas sur qu'entre chaque colonne il y ait des \t tout le temps

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    l'expression veut dire :

    cherche les mots séparés par " " ou "\n" ou "\t" ou "\r"....

Discussions similaires

  1. [Traitement de fichiers] substitutions
    Par david_m dans le forum Langage
    Réponses: 3
    Dernier message: 04/01/2006, 09h27
  2. traitement de fichier
    Par loic_86 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/11/2005, 17h56
  3. Réponses: 1
    Dernier message: 24/07/2005, 22h25
  4. TRaitement de fichier avec PERL
    Par Dr_GonZO dans le forum Langage
    Réponses: 4
    Dernier message: 22/07/2005, 12h38
  5. traitement de fichier XML dans une Tache planifiée
    Par marivi dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 21/06/2005, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo