Écrire un fichier avec un .h, en ouvrant le fichier dans main
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Écrire un fichier avec un .h, en ouvrant le fichier dans main



  1. #1
    AmigaOS

    Écrire un fichier avec un .h, en ouvrant le fichier dans main


    ------

    Bonjour

    J’aimerais avec un .h écrire dans un fichier, mais en ouvrant ce fichier dans main. Sinon je serait obliger d’écrire le code d’ouverture et fermeture pour chaque fonction. Mais cela m'affiche les messages d'erreur :
    `fichier' undeclared (first use in this function)
    (Each undeclared identifier is reported only once for each function it appears in.)

    Voici le code :

    main.c :

    Code:
    #include <stdio.h>
         #include <stdlib.h>
         #include "fonctions.h"
         void main (void)
         {
         FILE* fichier = NULL ;
         fichier = fopen ("fichier.cnf", "rb+") ;
         // Programme
         // Programme
         fonction_1 () ;
         // Programme
         // Programme
         fclose (fichier) ;
         return ;
         }


    fonctions.c :

    Code:
    #include <stdio.h>
         #include <stdlib.h>
         #include "fonctions.h"
         void fonction_1 (void)
         {
         int v = 0 ;
         fseek (fichier, 0x00, SEEK_SET) ;
         fwrite(&v, 4, 1, fichier) ;
         }


    fonctions.h :

    Code:
    void fonction_1 (void) ;
    Merci

    -----

  2. #2
    doul11

    Re : Écrire un fichier avec un .h, en ouvrant le fichier dans main

    Salut,

    tu ne peut pas utiliser comme ça dans fonction_1() une variable déclaré dans main(), passe un pointeur. Sinon je ne comprends pas bien ce que tu veut faire : que fait tu de la valeur lu dans le fichier v ?
    La logique est une méthode systématique d’arriver en confiance à la mauvaise conclusion.

  3. #3
    AmigaOS

    Re : Écrire un fichier avec un .h, en ouvrant le fichier dans main

    passe un pointeur.
    Comment ça ? Je pensais que fichier est déjà un pointeur ( FILE* fichier = NULL ; )

    Sinon je ne comprends pas bien ce que tu veut faire : que fait tu de la valeur lu dans le fichier v ?
    La valeur v n'est pas lu mais écrite, et ça sur 4o, grâce à fwrite.

  4. #4
    invite2d7144a7

    Re : Écrire un fichier avec un .h, en ouvrant le fichier dans main

    Bonjour,

    Regarde ton programme, et lis-le attentivement.

    À quel moment passes-tu le pointeur fichier à fonction_1 (qui d'ailleurs n'attend pas de paramètre !!) ?

    Un minimum d'attention est requis pour programmer, sinon autant aller dormir.

  5. A voir en vidéo sur Futura
  6. #5
    doul11

    Re : Écrire un fichier avec un .h, en ouvrant le fichier dans main

    Citation Envoyé par AmigaOS Voir le message
    Comment ça ? Je pensais que fichier est déjà un pointeur ( FILE* fichier = NULL ; )
    oui c'est un pointer, mais il est déclaré dans main() et seul main() peut l'utiliser, si tu veut qu'une fonction l'utilise tu doit passer ce pointeur a la fonction, ou déclarer ton pointeur sur un fichier en global (a éviter).

    Code:
    #include "stdio.h"
    
    //global
    FILE *pf;
    
    void fx()
    {
    fprintf(pf,"hello !\n");
    }
    
    
    int main()
    {
    
    pf=fopen("test.txt","w");
    
    fx();
    
    fclose(pf);
    return 0;
    }
    Code:
    #include "stdio.h"
    
    //pointeur
    
    void fx(FILE *ptr)
    {
    fprintf(ptr,"hello !\n");
    }
    
    
    int main()
    {
    FILE *pf;
    
    pf=fopen("test.txt","w");
    
    fx(pf);
    
    fclose(pf);
    return 0;
    }
    La valeur v n'est pas lu mais écrite, et ça sur 4o, grâce à fwrite.
    si tu écrit dans un fichier c'est pour en faire quelque chose avec non ?
    Dernière modification par doul11 ; 30/01/2011 à 20h35.
    La logique est une méthode systématique d’arriver en confiance à la mauvaise conclusion.

Discussions similaires

  1. Ecrire des donnees dans un fichier .txt avec MATLAB
    Par invitecd42c963 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 24/10/2011, 17h03
  2. Ecrire des donnees dans un fichier .txt avec MATLAB
    Par invitef8c30587 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 11/02/2010, 14h16
  3. Maple, écrire dans un fichier
    Par invite5f00d0ce dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 20/12/2009, 20h30
  4. lire et écrire dans un fichier en utilisant le VHDL
    Par invite8c6f844d dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 23/10/2009, 03h48
  5. [Matlab] Ecrire un espace dans un fichier binaire
    Par invite24357dd0 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 12/08/2004, 17h41