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 :

problème : lecture dans un fichier


Sujet :

C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut problème : lecture dans un fichier
    bonjour,
    voila j'ai un petit souci dans une instruction de lecture je sais que c'est à ce niveau que j'ai une erreur si vous pouvez m'aider à corriger cette erreur ça sera génial:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    FILE* ftemps=NULL; 
    ftemps = fopen("/home/asmaa/Desktop/simplesim.3.0/temps.txt","r");	
    double T[100][100];
     
     
    	for (h=0; h <Nb_Config_cache; h++)
    	{
    		for (d=0; d <dimcol; d++)
    		{
    			 fscanf(ftemps, "%g \n", &T[h][d]);
    			 printf(" %g \n",T[h][d]);
    		}
          	}
    sachant Nb_cache vaut 4
    et dimcol=5
    pour le fichier temps contient des valeurs réelles
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4.1235
    5.1227
    7.6488
    donc les valeurs sont écrites ligne par ligne
    donc quel est l'instruction exacte pour lire son contenu
    j'obtient actuellement à l'exécution une seule valeur avec un surplus répéter Nb_cache *dimcol c'est noramal j'ai 2 boucles!!
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4.1235-231
    4.1235-231
    4.1235-231
    .....
    merci d'avance

  2. #2
    Membre averti Avatar de corentin59
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 462
    Points : 441
    Points
    441
    Par défaut
    peut-être as-tu un problème de buffer non vide. D'une manière générale, il vaut mieux utiliser fgets pour lire un fichier ligne par ligne puis sscanf pour extraire ce qu'on veut (ici des réels) de ces lignes

  3. #3
    Membre averti Avatar de corentin59
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 462
    Points : 441
    Points
    441
    Par défaut
    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
    19
    20
    21
    22
    FILE* ftemps=NULL; 
    ftemps = fopen("/home/asmaa/Desktop/simplesim.3.0/temps.txt","r");
     
    // attention, il faut verifier que l'ouverture du fichier s'est bien faite
    if ( ftemps == NULL ) {
        //erreur
    }
     
    double T[100][100];
    char ligne[256];
    for (h=0; h <Nb_Config_cache; h++) {
        for (d=0; d <dimcol; d++) {
            fgets(ligne,256,ftemps);
            if ( sscanf(ligne,"%lf",&T[h][d]) != 1 ) {
                //erreur
            }
            printf("%f\n",T[h][d]);
        }
    }
     
    //ne pas oublier de fermer le fichier
    fclose(ftemps);

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut comment je fais?
    merci pour ta réponse
    comment je fais ça ? car c'est la première fois que j'entend parlé de sscanf?
    merci d'avance

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    merci , désolé
    on a écris nos message en même temps
    merci beaucoup je vais tester ça

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut [Résolu]
    Bonjour,
    il faut juste remplacer %lf par %lg
    et %f par %g
    merci

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

Discussions similaires

  1. Problème: lecture dans un fichier
    Par doudou0088 dans le forum Débuter
    Réponses: 9
    Dernier message: 29/05/2008, 18h05
  2. Problème de lecture dans un fichier texte.
    Par Mike888 dans le forum C
    Réponses: 3
    Dernier message: 24/05/2007, 11h45
  3. problème de lecture dans un fichier
    Par phy4me dans le forum Fortran
    Réponses: 1
    Dernier message: 20/05/2007, 20h55
  4. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13
  5. Réponses: 12
    Dernier message: 14/06/2004, 13h06

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