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 :

fwrite et fread


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    21
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 21
    Par d�faut fwrite et fread
    bonjour a tous
    est il normal que quand j'utilise la fonction fwrite pour ecrire dans un fichier si apres j'ouvre ce fichier c'est incomprehensible? je veux dire que pour les nbres par ex il met des cases noires...
    est ce que quelqu'un utilise djgpp? si vous ecrivez (fwrite) dans un fichier une structure composee de nombres,noms... et qu'apres vous allez les relire (fread) avez vous des problemes a partir du nombre 13?
    pour palier a ce probleme je dois remplacer le nbre 13 par un autre nombre avez vous une autre idee?
    avec fprintf et fscanf aucun probleme

    autre question j'aimerais savoir comment faire passer des arguments d'entree a ma fonction main
    exemple
    int main (int a,int b)
    {
    printf ("%d",a+b) ;
    }

    comment executez ce programme en lui donnant les deux nbres entiers de depart

    merci a tous

  2. #2
    Membre �clair�
    Inscrit en
    Mai 2002
    Messages
    67
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 67
    Par d�faut
    tu as deux type de format quand tu ecrit dans un fichier ... tu a le format binaire et le format texte..
    je sais plus trop lequel il faut utiliser pour permettre ce que tu veux...

  3. #3
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    21
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 21
    Par d�faut re
    j'utilise le format texte et je cree un fichier.txt

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Par d�faut Re: fwrite et fread
    Citation Envoy� par bohemianvirtual
    autre question j'aimerais savoir comment faire passer des arguments d'entree a ma fonction main
    exemple
    int main (int a,int b)
    {
    printf ("%d",a+b) ;
    }

    comment executez ce programme en lui donnant les deux nbres entiers de depart
    La fonction main se d�clare ainsi :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    int main ( int argc, char *argv[])
      {
      /* Ton code */
      }
    argc contient le nombre de param�tres de la ligne de commande (le nom du programme appel� compris).
    Et argv est un tableau contenant la liste des param�tres de la ligne de commande.

    Donc le plus simple c'est de :
    - contr�ler le nombre d'arguments (dans ton cas argc doit �tre �gal � 3).
    - v�rifier que argv[1] et argv[2] sont num�riques
    - les convertir en int

    J'esp�re avoir �t� assez clair.

    Cependant pour en savoir plus lire les tutoriels et cours de formation pour apprendre la programmation C : http://c.developpez.com/cours/

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2002
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 23
    Par d�faut
    Pour �crire du binaire, il vaut mieux utiliser les fonctions du type open, read, write, close.

    Le prototype de main est :

    int main(int argc, char **argv)


    o� argc contient le nombre de param�tres
    et argv est un tableau contenant les param�tres sous forme de cha�ne de caract�res (avec argv[0] = le nom de la commande ex�cut�e, ton programme quoi !).

    Dans ton cas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    int main(int argc, char **argv) {
      int a, b;
     
      if(argc != 3) declencher_erreur_et_quitter();
      a = atoi(argv[1]);
      b = atoi(argv[2]);
      printf("%d", a+b); 
    }

  6. #6
    Membre habitu�
    Inscrit en
    Mars 2002
    Messages
    9
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 9
    Par d�faut
    fprintf() est utilis� pour �crire en mode texte alors que fwrite peut aussi �tre utilis�e pour �crire dans des fichiers binaires.
    La fonction fwrite s'utilise de la fa�on suivante:

    fwrite (a,b,c,d);

    a est un pointeur sur ce que tu veux �crire.
    b est la taille de ce que tu veux �crire, par exemple sizeof(char) si tu �cris une cha�ne de caract�res.
    c est le nombre de blocs que tu vas �crire (nombre de caract�res pour une cha�ne).
    d est un pointeur sur le fichier dans lequel tu veux �crire.

    Exemple d'utilisation:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    FILE * mon_fichier;
    char * ma_chaine = "bonjour";
     
    ... // Ouvre ton fichier etc.
     
    fwrite (ma_chaine, sizeof(char), 7, mon_fichier);

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

Discussions similaires

  1. fwrite et fread
    Par Almenor dans le forum D�buter
    R�ponses: 11
    Dernier message: 27/05/2012, 22h45
  2. R�ponses: 2
    Dernier message: 23/02/2009, 11h23
  3. R�ponses: 14
    Dernier message: 02/11/2006, 19h17
  4. Les fonctions fread et fwrite
    Par Sara83 dans le forum MATLAB
    R�ponses: 1
    Dernier message: 16/10/2006, 12h54
  5. fread fwrite
    Par breezer911 dans le forum C
    R�ponses: 6
    Dernier message: 25/11/2005, 10h05

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