Fichier en langage c

lampard -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour, j'ai un p'tit probleme , dans un exercice , le prof nous a demandé d'ecrire une fonction qui prend comme argument un pointeur qui pointe sur un nom de fichier (fichier est dejà crée) , alors mon probleme c'est lorsque je fais fopen ("non du ficher.txt","r") ; vous voyez comment on va remplacer le nom du fichier , sachant il est pris en argument...!!! et mérci bp juste pr avoir lu mon texte.. !!

1 réponse

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    void fonction(char* nom_fic)
    {
    fopen(nom_fic,"r");
    }
    0
    1. le père
       
      Bonjour,

      Ce serait plus pratique de rendre le résultat, non ?

      FILE * fonction(char* nom_fic)
      {
      return fopen(nom_fic,"r");
      }
      0
    2. jisisv Messages postés 3678 Statut Modérateur 936
       
      Par exemple:
      johand@osiris: ~/src/CCM/C $ ./testfile 
      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      
      #define BUFFSIZE 256
      
      int main(int argc, char *argv[])
      {
        char line[BUFFSIZE];
        char *sourcename;
        FILE *handle;
        
        sourcename = malloc(BUFFSIZE);
        strcpy(sourcename, argv[0]);
        strncat(sourcename, ".c", BUFFSIZE);
        
        handle  = fopen(sourcename, "r");
      
      
        while( fgets(line, BUFFSIZE - 1, handle))
          {
            fputs(line, stderr);
          }
        return(EXIT_SUCCESS);
      }
      0