Fichier(C)

steftou -  
lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
svp j'aimerai savoir s'il serait possible en C de créer un tableau de fichiers c'est à dire un tableau où chaque case est un ficher comportant les infos d'un employés? si oui,pourrais-je avoir svp le coup de code?

4 réponses

  1. lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   103
     
    Slt,
    La réponse est Oui! Par contre tu sais que le langage C est un langage de programmation de programme! Le code, je croie ( si sa marche avec le C ) ( En basic c'est Dim ). Je c'est pas si en C c'est la même chose. Peut être. Mais il serait plus simple en HTML. Le langage C sert à faire des programmes ( logiciel ) .
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Mais il serait plus simple en HTML
      Tu vas pas aller loin avec l'HTML pour faire ce qu'il veut ^^.
      0
      1. lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   103 > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oui bah... Si il y a 20 employés sava le HTML, mais si il y a 300 employés, c'est plus compliquer. Mais le C encore plus. A moins que fiddy est un bon programmeur.

        Lucas.
        0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Pour faire un tableau de fichier :
    #define MAX 10
    FILE *tab[MAX];
    
    for(int i=0;i<MAX;i++) {
        tab[i] = fopen(NomFichier,mode);
        if(tab[i]==NULL) { 
            fputs("erreur\n",stderr);
            exit(EXIT_FAILURE);
        }
    }
    
    for(int i=0;i<MAX;i++)
        free(tab[i]),tab[i]=NULL;
    

    Cdlt
    0
    1. lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   103
       
      #define MAX 10
      FILE *tab[MAX];

      for(int i=0;i<MAX;i++) {
      tab[i] = fopen(NomFichier,mode);
      if(tab[i]==NULL) {
      fputs("erreur\n",stderr);
      exit(EXIT_FAILURE);
      }
      }

      for(int i=0;i<MAX;i++)
      free(tab[i]),tab[i]=NULL;


      sa ne va pas...
      0
    2. steftou
       
      merci fiddy mais j'ai peur de n'avoir pas bien saisie ceci:
      for(int i=0;i<MAX;i++)
      free(tab[i]),tab[i]=NULL;

      est ce que tu peux m'expliquer?
      0
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > steftou
         
        Une fois que tu ouvres un fichier avec fopen, il faut le fermer. D'où l'utilisation de free. Il est d'usage de remettre également la variable à NULL, mais ceci n'est absolument pas obligatoire.
        0
  3. steftou
     
    slt lucas01 qu'est ce qui ne va pas dans ce code?
    0
    1. lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   103
       
      Ce que j'ai mis en Gras! Par contre, je ne connait pas la nature de l'erreur! C'est le logiciel que j'utilise qui indique l'erreur!
      0
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention  
         
        Tu as mal dû tester ^^.
        La ligne est parfaitement correcte. Par contre, le copier coller ne suffit pas puisque j'ai juste donné la commande. Il ne faut pas oublier d'inclure tout le nécessaire (du genre #include, etc).
        0
      2. lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   103 > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oui c'est vrai!
        0
  4. lucas01 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   103
     
    Apparemment, c'est la commande entière!
    0