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 :

Manipuler des données


Sujet :

C

  1. #1
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 142
    Points : 94
    Points
    94
    Par défaut Manipuler des données
    Bonsoir,

    Je suis nouveau en c....
    J'aimerai ouvrir des fichiers txt, extraire le contenu, les manipuler et enregistrer dans un nouveau fichier. Le problème c'est qu'apparemment je ma façon de faire n'est pas correcte c'est pour ca j'obtiens des valeurs bizarres !!!
    voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <stdio.h>
    int main (void)
    {
        int a;
        FILE *file1;
        file1 = fopen ("x.txt","r");
        fscanf(file1,"%f",&a);
        printf ("La valeur de a est %i \n" , a);
        fclose (file1);
        system("pause");
        return 0;
    }
    j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La valeur de a est 1977851444
    Merci d'avance de votre aide

    NB : le fichier "x.txt" contient uniquement le chiffre 5.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 46
    Points
    46
    Par défaut
    fscanf(file1,"%f",&a);
    %f => float
    %i => int
    fscanf(file1,"%i",&a);
    ira mieux

  3. #3
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 142
    Points : 94
    Points
    94
    Par défaut
    merci. mais meme avec "%i" ca ne marche pas !!!

    ci-joint le résultat !!!
    Images attachées Images attachées  

  4. #4
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Votre fichier "x.txt" est bien dans le même repertoire que l'exécutable?

  5. #5
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 142
    Points : 94
    Points
    94
    Par défaut
    oui.

  6. #6
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Eh bien chez moi ça marche parfaitement...
    Essayez de contrôler si votre programme a pu ouvrir le fichier

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Déjà, comme cela, cela gérera les erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        file1 = fopen ("x.txt","r");
        if(file1 != NULL)
        {
            fscanf(file1,"%f",&a);
            printf ("La valeur de a est %i \n" , a);
            fclose (file1);
        }
        else
        {
            printf ("Erreur en ouvrant le fichier\n");
        }
    Les codes de retour des fonctions sont faits pour être testés, cela évite de passer des heures à ne pas comprendre un problème.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  8. #8
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 142
    Points : 94
    Points
    94
    Par défaut
    Bonsoir et merci a vous tous.
    En affichant les extensions des fichiers j'ai vu que mon fichier était "x.txt.txt" !!! c'est pour ca le code ne trouve pas le fichier "x.txt"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipulation des données d'un sous-formulaire
    Par tafnole dans le forum IHM
    Réponses: 2
    Dernier message: 23/02/2008, 19h23
  2. Manipulation des donnes (perl+oracle)
    Par AmineDev9 dans le forum SGBD
    Réponses: 17
    Dernier message: 14/01/2008, 19h17
  3. Réponses: 4
    Dernier message: 09/06/2007, 23h49
  4. [xml]manipuler des données xml sous Oracle9i
    Par crazy dans le forum SQL
    Réponses: 7
    Dernier message: 28/02/2004, 11h40

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