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 :

remplissage d'un tableau a partir d'un fichier texte


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Par défaut remplissage d'un tableau a partir d'un fichier texte
    Bonjour,

    J'ai un fichier texte que je dois lire avec le programme et mettre chaque ligne dans un tableau pour faire un traitement par la suite. Presentement j'utilise la fonction suivant:
    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
    23
    24
    25
    26
    27
     
    bool Ini()
    {	
    /* Déclaration du fichier à lire */
        FILE * Ini = fopen("C:\\Program Files\\SADE\\Settings.ini", "r");
     
    	/* Si le fichier est vide */
    	if(Ini == NULL)
    	{
    		return false;
    	}
    	else
    	{
    		char ligne[255];
    		char FichierIni[255];
    		int i=0;
    		/* Tant qu'on est pas à la fin du fichier */
    		while (!feof(Ini))
    		{
    			/* Lire dans le fichier */
    			fgets(ligne,255,Ini);
    			FichierIni[i] = ligne;
    			i++;
    		}
    	}
    	return true;
    }
    Est-ce que qqun peut m'aider a corriger le programme car il ne fonctionne pas.

  2. #2
    LFE
    LFE est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Par défaut
    Quelques précisions sur l'erreur que tu as nous aideraient a pouvoir t'aider.
    Désolé, mais ma boule de cristal est en panne ....

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Par défaut
    il manquerait pas une boucle qui incrémente ton i ?

    [Edit]
    j'ai rien dit ... désolé c'est la digestion

    [Edit-bis]
    enfin si je dis un truc
    je pense que l'erreur vient defichierini[i] = ligne ?
    est ce qu'un strcpy ne serait pas plus adapté

  4. #4
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Par défaut
    le message d'erreur est
    error C2440: '=' : cannot convert from 'char [255]' to 'char'
    This conversion requires a reinterpret_cast, a C-style cast or function-style cast

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Par défaut
    ca confirme ce que je pensais ... essaye un strcpy
    bonne chance
    et oublie pas le tag resolu (je m'enflamme ptete un peu la )

  6. #6
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Par défaut
    excuse moi pour cette question mais pourrais-tu me donner un exemple en code de ce que tu veut dire?

    Merci

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    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
    23
    24
    25
    26
    27
    28
     
    bool Ini() 
    {    
    /* Déclaration du fichier à lire */ 
        FILE * Ini = fopen("C:\\Program Files\\SADE\\Settings.ini", "r"); 
     
       /* Si le fichier est vide */ 
       if(Ini == NULL) 
       { 
          return false; 
       } 
       else 
       { 
          char ligne[255]; 
          char FichierIni[255]; 
          int i=0; 
          /* Tant qu'on est pas à la fin du fichier */ 
          while (!feof(Ini)) 
          { 
             /* Lire dans le fichier */ 
             fgets(ligne,255,Ini); 
             // FichierIni[i] = ligne;  <--- pas bien
             strcpy(FichierIni[i], ligne);  // <--- bieeeeeeeeen
             i++; 
          } 
       } 
       return true; 
    }

  8. #8
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Par défaut
    ca ne fontionne pas. je recoit l'erreur suivante:
    error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Par défaut
    sorry ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpy(FichierIni, ligne);
    et pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpy(FichierIni[i], ligne);

  10. #10
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Par défaut
    ok merci mais la ligne est toujours ecraser par la suivante non?

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Par défaut
    dans ce cas fait uen liste chainée de strings ou un tableau de strings enfin
    fait en sorte que ca ne soit pas stocké a chaque fois dans la meme variable ou alors fait le traitement sur la meme variable a chaque boucle ... ca depend de ton cas

  12. #12
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Par défaut [resolu]
    merci

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

Discussions similaires

  1. [XL-2013] Remplissage d'un tableau Excel à partir d'un autre tableau Excel
    Par maleko_dev dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/05/2014, 17h49
  2. Réponses: 1
    Dernier message: 05/05/2014, 11h39
  3. Créer un tableau à partir d'un fichier texte
    Par jchampen dans le forum Langage
    Réponses: 9
    Dernier message: 04/11/2008, 08h34
  4. construire un tableau à partir d'un fichier texte
    Par Invité dans le forum Général Python
    Réponses: 4
    Dernier message: 25/06/2008, 19h31
  5. initialisation d'un tableau a partir d'un fichier texte
    Par infofree dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 14/04/2008, 21h17

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