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 :

seekg ne recule pas


Sujet :

C++

  1. #1
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut seekg ne recule pas
    Bonjour,

    lorsque on est arriv� � la fin du fichier, seekg devrait repositionner de deux tampons en arri�re et source.read devait charger le tampon pr�c�dent. Dans le d�bogueur, le tampon reste le m�me dans le tableau tampon. Pourquoi seekg ne recule pas?
    quelqu'un a une id�e?

    scanneur.cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #include <string>
    #include <fstream>
    #include <iostream>
     
    #include "scanneur.hpp"
     
    scanneur::scanneur(std::string nomfichier):enavant(0),nbtampons(0){
      char c;
      source.open(nomfichier.c_str(),std::ifstream::binary);
      if( ! source.is_open()){
        std::cerr<<"impossible d'ouvrir "<<nomfichier<<std::endl;
        exit(1);
      }
      source.seekg(0,source.end);
      taillefichier = source.tellg();
      source.seekg (0, source.beg);
      source.read(tampon,tailletampon);
      nbtampons++;
      tampon[tailletampon]=EOF;//sentinelle
      lus=source.gcount();
      if(lus<tailletampon)
        tampon[lus]=EOF;
      for(c=carsuiv();c!=EOF;c=carsuiv())
        if(c=='\n')
          std::cout<<std::endl;
        else
          std::cout << c;
      for(int i=0;i<taillefichier;i++){
        reculer(2);
        c=carsuiv();
        if(c=='\n')
          std::cout<<std::endl;
        else
          std::cout<<c;
      }
    }
     
    char scanneur::carsuiv(){
      char c=tampon[enavant++];
      if(c==EOF){
        if(enavant==tailletampon+1){//+1 car enavant a été incrémenté
          source.read(tampon,tailletampon);
          nbtampons++;
          tampon[tailletampon]=EOF;//sentinelle
          lus=source.gcount();
          tampon[lus]=EOF;//dernier caractère du tampon chargé
          enavant=0;
          c=tampon[enavant++];
        }
      }
      return c;
    }
     
    void scanneur::reculer(int n){
      for(int i=0;i<n;i++)
        if(enavant>0)
          enavant--;
        else{
          if(nbtampons>1){
    	nbtampons-=2;
    	source.seekg(nbtampons*tailletampon,std::ios::beg);
    	nbtampons++;
    	source.read(tampon,tailletampon);
    	enavant=source.gcount();
          }
        }
    }
    scanneur.hpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #ifndef SCANNEUR_HPP
    #define SCANNEUR_HPP
    #include <fstream>
     
    constexpr int tailletampon=7;
     
    class scanneur{
    public:
      scanneur(std::string nomfichier);
      char carsuiv();
      void reculer(int n);
    private:
      char tampon[tailletampon+1];//+1 pour la sentinelle
      int enavant,taillefichier,lus,nbtampons;
      std::ifstream source;
    };
    #endif
    main.cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <iostream>
    #include <string>
    #include "scanneur.hpp"
     
     
    int main(int argc,char *argv[]){
      if(argc==1){
        std::cerr<<"indiquez le fichier source"<<std::endl;
        exit(2);
      }
      std::string in=argv[1];
      scanneur scan(in);
      return 0;
    }

  2. #2
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    j'ai chang� reculer(int n):
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void scanneur::reculer(int n){
      for(int i=0;i<n;i++)
        if(enavant>0)
          enavant--;
        else{
          if(nbtampons>1){
    	source.seekg((nbtampons-2)*tailletampon,std::ios::beg);
    	nbtampons--;
    	source.read(tampon,tailletampon);
    	enavant=source.gcount();
          }
        }
    }
    mais �a ne change pas d'effet.

  3. #3
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par d�faut
    Est-ce que tu compiles encore en C++98 ?
    Citation Envoy� par c++98
    If the eofbit flag is set before the call, the function fails (sets failbit and returns).
    Citation Envoy� par c++11
    The function clears the eofbit flag, if set before the call.
    https://cplusplus.com/reference/istream/istream/seekg/
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  4. #4
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    Merci pour la r�ponse. J'ai d�j� vu cette page. En utilisant l'option -std=c++11 ou -std=gnu++11 j'ai le m�me probl�me.
    Mais c'est vrai que eof est activ�:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    void scanneur::reculer(int n){
      for(int i=0;i<n;i++)
        if(enavant>0)
          enavant--;
        else{
          if(nbtampons>1){
    	if(source.eof())
    	  std::cout<<"\neof"<<std::endl;
    	else
    	  std::cout<<"\npas eof"<<std::endl;
    	source.seekg((nbtampons-2)*tailletampon,std::ios::beg);
    	nbtampons--;
    	source.read(tampon,tailletampon);
    	enavant=source.gcount();
          }
        }
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    123456789
     
    98
    eof
    8888888
    une id�e?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 499
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 499
    Par d�faut
    Salut,

    Ne te fait pas chier � �crire une micro-gestion du fichier: Monte toutes les donn�es en m�moire, fait tes op�rations, et redescend tout sur le disque quand tu as termin�.
    Des structures / classes sont autrement plus simple � g�rer que les donn�es brut sur le disque.

  6. #6
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    Merci pour le hors-sujet. le fichier peut-�tre tr�s volumineux. Je fais un scanneur car j'en ai besoin d'un. J'ai trouv� cette m�thode dans un livre sur les compilateurs, le purple dragon book.
    voici comment j'ai r�solu le probl�me (j'ai trouv� �a dans un de mes anciens projets):
    scanneur.hpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #ifndef SCANNEUR_HPP
    #define SCANNEUR_HPP
     
    #include <fstream>
    #include <string>
     
    constexpr int taille=1000;
     
    class scanneur{
    public:
      scanneur(std::string const& nomFichier);
      char carsuiv();
      void reculer(int const &n);
      int getTailleFichier();
    private:
      std::ifstream fichier;
      char tampon[taille+1];// +1 car sentinelle
      int Ntampon;
      int enavant;
      int derniers;
      int tailleFichier;
    };
     
    #endif
    scanneur.cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    #include <fstream>
    #include <iostream>
    #include "scanneur.hpp"
     
    scanneur::scanneur(std::string const& nomFichier):Ntampon(1),enavant(0),
    						  derniers(0){
      fichier.open(nomFichier.c_str(),std::ios::binary|std::ios::in);
      fichier.seekg(0,std::ios_base::end);
      tailleFichier=fichier.tellg();
      fichier.seekg(0,std::ios_base::beg);
      if(taille<=tailleFichier){
        fichier.read(tampon,taille);
        tampon[taille]=EOF;//sentinelle
      }
      else{
        derniers=tailleFichier;
        fichier.read(tampon,derniers);
        Ntampon=1;
        tampon[derniers]=EOF;//fin de fichier (pas sentinelle)
        enavant=0;
      }
    }
     
    char scanneur::carsuiv(){
      if(tampon[enavant]==EOF)
        if(enavant!=taille)
          return tampon[enavant++];//+1 car doit pointer sur le suivant
        else if((Ntampon+1)*taille<=tailleFichier){
          fichier.read(tampon,taille);
          Ntampon++;
          enavant=0;
          derniers=0;
          return tampon[enavant++];
        }
        else{
          derniers=tailleFichier%(Ntampon*taille);
          fichier.read(tampon,derniers);
          Ntampon++;
          tampon[derniers]=EOF;
          enavant=0;
          return tampon[enavant++];
        }
      else
        return tampon[enavant++];
    }
     
    void scanneur::reculer(int const &n){
      for(int i=0;i<n;i++){
        if(enavant==0){
          if(Ntampon>1){
    	fichier.seekg((Ntampon-2)*taille,std::ios_base::beg);
       	fichier.read(tampon,taille);
    	enavant=taille-1;
          }
          else if(derniers!=0)
    	enavant=derniers-1;
          else
    	enavant=taille-1;
          Ntampon--;
        }
        else
          enavant--;
      }
    }
     
    int scanneur::getTailleFichier(){
      return tailleFichier;
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    $ ./a.out toto.txt 
    123456789
     
     
    987654321

  7. #7
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    Citation Envoy� par deedolith Voir le message
    Des structures / classes sont autrement plus simple � g�rer que les donn�es brut sur le disque.
    c'est pour �a que je fais une classe scanneur. Je l'utilise dans le reste du programme.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 499
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 499
    Par d�faut
    Citation Envoy� par matser Voir le message
    Merci pour le hors-sujet. le fichier peut-�tre tr�s volumineux.
    Tres volumineux ? tu peux etre plus pr�cis ?
    Et non, ce n'est pas hors sujet.
    Citation Envoy� par matser Voir le message
    c'est pour �a que je fais une classe scanneur. Je l'utilise dans le reste du programme.
    certes, mais ta classe passe son temps � triturer un fichier.
    Charge ton fichier dans un conteneur (tableau, classe, structure, ect ...) et oublie le.

  9. #9
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    c'est pas ce qu'ils disent dans le dragonbook.

    scanneur ne lit pas directement sur le fichier, il ne lit que le tampon, lequel est recharg� quand la variable enavant arrive � la sentinelle, au bout du tampon. Le fichier est un peu "oubli�" comme tu dis
    On trouve ce tampon � la ligne 17 dans scanneur.hpp
    la classe scanneur n'est utilis�e seulement quand la classe lexicale demande un caract�re pour trouver un lex�me. Elle n'est pas tout le temps en action. Et la classe syntaxique demande de temps en temps une unit� lexicale � la classe lexical.
    et si le fichier fait 1Go? dans un tableau?
    je ne triture pas un fichier, je ne fais que le lire tampon par tampon
    Je pr�f�re �couter les grands informaticiens (A Aho, M. Lam, R. Sethi et J Ullman) qui ont �crit le purple dragon book.
    Tu l'a lu la classe scanneur? Un tampon de 1ko ne fait pas l'affaire?

  10. #10
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 478
    Par d�faut
    "le dragonbook", putain c'�tait d�j� m�ga vieux durant mes �tudes, et c'�tait il y a plus de 30 ans.

    Les probl�matiques des compilateurs des ann�es 70-80, c'�tait pas les m�mes que maintenant.

    >et si le fichier fait 1Go? dans un tableau?
    Rien � foutre, on n'est dans le monde du 64 bits depuis plus de 15 ans.

    >Je pr�f�re �couter les grands informaticiens (A Aho, M. Lam, R. Sethi et J Ullman) plut�t que toi.
    Contactes les survivants sur Twiter, qu'ils rigolent.

    >Tu l'a lu la classe scanneur? Un tampon de 1ko ne fait pas l'affaire?
    Mais bien s�r, du moment qu'il rentre en entier dans une ligne du cache L2 de la CPU. (On m'informe qu'il n'y avait pas de caches sur les CPU des ann�es 70, mais c'est ballot).

  11. #11
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    tu parles peut-�tre du red dragonbook.
    celui que j'ai est le purple. En fait c'est vrai qu'il n'est pas r�cent, il date de 2007.
    d�sol� pour la g�ne occasionn�

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 499
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 499
    Par d�faut
    Citation Envoy� par matser Voir le message
    et si le fichier fait 1Go? dans un tableau?
    Avec de "Si", on refait le monde, et on met � genoux n'importe quel syst�me informatique, m�me ceux qui n'ont pas encore �t� con�u.

    Les tr�s gros fichiers (base de donn�es ? syst�me de fichier propri�taire ?) sont pris en charge par des programme autrement plus �volu�s que ce que tu nous pr�sente.
    Fait quelque chose de r�aliste plut�t que th�orique.

  13. #13
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 478
    Par d�faut
    L'�dition Originale est de 1986 :
    https://en.wikipedia.org/wiki/Compil...ues,_and_Tools

    Je ne pense pas que tu t'inspires des extensions de la seconde �dition.

  14. #14
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    Je ne pense pas que tu t'inspires des extensions de la seconde �dition.
    quest-ce qu tu en sais? J'utilise la seconde �dition depuis que je l'ai

  15. #15
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 478
    Par d�faut
    Citation Envoy� par matser Voir le message
    quest-ce qu tu en sais? J'utilise la seconde �dition depuis que je l'ai
    - Directed translation
    - New data flow analyses
    - Parallel machines
    - Garbage collection
    - New case studies

    Laquelle de ces extensions, SVP ?

  16. #16
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    j'en suis au chapitre 5 traduction dirig�e par la syntaxe

  17. #17
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 478
    Par d�faut
    Si les vieilleries que vous donnez dans le sujet https://www.developpez.net/forums/d2...w-char-length/ viennent de ce que vous avez lu dans ce bouquin, on a clairement la r�ponse sur la "fra�cheur" de l'�dition de 2007.

  18. #18
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    non ce char *... vient de https://cplusplus.com/reference/istream/istream/seekg/

    j'ai pos� la question parce que �a me semblait bizard

  19. #19
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 478
    Par d�faut
    La vache, cet exemple des enfers, il fait mal aux yeux.
    A ne pas copier, SVP.

  20. #20
    Membre �clair�

    Homme Profil pro
    d�veloppeur � la maison
    Inscrit en
    Septembre 2006
    Messages
    396
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : d�veloppeur � la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 396
    Billets dans le blog
    16
    Par d�faut
    OK, pas de probl�me, je ne copie pas

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 90
    Dernier message: 25/11/2019, 21h40
  2. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum D�bats sur le d�veloppement - Le Best Of
    R�ponses: 85
    Dernier message: 10/03/2009, 14h43
  3. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    R�ponses: 8
    Dernier message: 11/06/2002, 12h15

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