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 :

la fonction fwrite


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Par défaut la fonction fwrite
    bonjour tout le monde
    voila les amis, j'ai un probleme avec la foction fwrite, sa fait trois jours que je galére, j'espere vraimant que vous allez m'aider:
    je voudrais écrire un tableau de structure dans mon fichier
    voici la partie de mon code qui me cause probleme
    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
    //déclaration
    struct  tenreg{
    	char 	ville[30];
    	char 	date[10];
    	int	temperature;
    };
    typedef struct tenreg tenreg;
     
      tenreg tab[30];  //tableau dont chaque case est un enregistrement
      printf("donner les informations suivantes: ");
      printf("\nla ville     ");
      scanf("%s",tab[i].ville);
      printf("\nla date      ");
      scanf("%s",tab[i].date);
      printf("\ntemperature     ");
      scanf("%2d",&tab[i].temperature);
      fwrite(&tab[i],sizeof(tab[i]),1,f);
    }
    mais le probleme c'est que la foction m'affiche que la ville dans mon fichier, ni date ni tempértaure
    merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Citation Envoyé par solitaire2010 Voir le message
    mais le probleme c'est que la foction m'affiche que la ville dans mon fichier, ni date ni tempértaure
    Qu'est-ce qui te fait dire ça ? A priori tout devrait être écrit dans ton fichier.

    Par contre, j'espère que tu réalises que tu es en train d'écrire des données binaires dans ton fichier, donc il ne faut pas t'attendre à voir des données "propres" quand tu visualises le contenu du fichier dans un éditeur de texte. Entre chaque champs de ta structure tu as des zones non initialisées, qui peuvent contenir n'importe quoi, y compris des caractères non affichables. D'autre par puisque la température est un int, elle ne sera évidemment pas visible sous la forme d'une chaine de caractères dans le fichier.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    je voudrais écrire un tableau de structure dans mon fichier
    Copier à la volée le contenu de la mémoire dans un fichier est une très mauvaise solution, car ce n'est absolument pas portable. Je te le déconseille fortement.
    Enregistre plutôt en CSV ou dans un autre format propre.

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Par défaut
    Citation Envoyé par jeroman Voir le message
    Copier à la volée le contenu de la mémoire dans un fichier est une très mauvaise solution, car ce n'est absolument pas portable. Je te le déconseille fortement.
    Enregistre plutôt en CSV ou dans un autre format propre.
    je suis débutante, donc ne sais c quoi CSV, sa c'est un exercice sur les fichiers que le prof nous a proposer.
    mais merci pour votre réponse

  5. #5
    Membre émérite Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Par défaut
    Bonjour,

    Comma Separated Values (ou quelque chose du genre…).
    C'est un format de fichier texte où, comme son nom l'indique les valeurs sont séparées par des virgules.

    Si tu as accès à un tableur (MS Excel, OpenOffice Calc, MS Works (un des modules), etc.), fais un essai.
    Écrit un fichier dans lequel tu sépares chaque donnée d'une même ligne par une virgule (ou un point-virgule, ça marche aussi… mais ne mixe pas les deux !).
    Enregistre ton fichier avec l'extension « .csv ».
    Ouvre-le avec ton tableur, et tu devrais voir tes données organisées en colonnes.

    L'inverse est également possible : tu peux créer un fichier dans un tableur et l'enregistrer au format CSV.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Citation Envoyé par solitaire2010 Voir le message
    je suis débutante, donc ne sais c quoi CSV, sa c'est un exercice sur les fichiers que le prof nous a proposer.
    mais merci pour votre réponse
    Le premier résultat Google donne pourtant la réponse.

  7. #7
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Par défaut
    Citation Envoyé par jeroman Voir le message
    Le premier résultat Google donne pourtant la réponse.
    mais c'est pas ce que je cherche cher ami!!!

  8. #8
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Par défaut
    Citation Envoyé par matafan Voir le message
    Qu'est-ce qui te fait dire ça ? A priori tout devrait être écrit dans ton fichier.

    Par contre, j'espère que tu réalises que tu es en train d'écrire des données binaires dans ton fichier, donc il ne faut pas t'attendre à voir des données "propres" quand tu visualises le contenu du fichier dans un éditeur de texte. Entre chaque champs de ta structure tu as des zones non initialisées, qui peuvent contenir n'importe quoi, y compris des caractères non affichables. D'autre par puisque la température est un int, elle ne sera évidemment pas visible sous la forme d'une chaine de caractères dans le fichier.
    voila, j'ai compris d'ou venait le probleme, moi ce que j'attendais; c'etais de voir mes donner dans l'edituer de texte "propre", mais en binaire apparament on peut pas les voir,
    merci bcp pour t'as réponse

Discussions similaires

  1. Utiliser la fonction fwrite avec un encodage UTF-8
    Par Mo_Poly dans le forum Langage
    Réponses: 4
    Dernier message: 30/01/2008, 22h19
  2. probleme sur fonction fwrite
    Par gijy dans le forum Bibliothèque standard
    Réponses: 32
    Dernier message: 13/01/2008, 07h28
  3. Peut-on m'expliquer la fonction fwrite
    Par mademoizel dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2008, 13h27
  4. Réponses: 14
    Dernier message: 02/11/2006, 19h17
  5. fonction fwrite()
    Par vali7 dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2006, 15h17

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