Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utiliser des données contenues dans un fichier....

Probleme d'incompatibilité

Sujet résolu
    20 décembre 2006 à 23:08:39

    Bonsoir,

    je travail sur un programme dans lequel j'enregistre des données chiffrées dans un fichier texte, et que j'aimerai pouvoir les récupérers et les traiter dans des calculs (en C++). Mais j'ai un probleme de compatibilité (invalid convertion from 'char' to 'long int'). J'imagine qu'il refuse car des données contenues dans un fichier ne sont pas forcement des chiffres....

    Comment puis-je faire pour éviter cette incompatibilité??
    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2006 à 23:11:09

      Commence par nous donner le code avec lequel tu récupere les caracteres de ce fameux fichier
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2006 à 23:21:27

        Voila un resume du code.
        J'avais pas fait attention au "char chaine[TAILLE_MAX] = "";", c'est ça qui doit poser probleme, mais je sais pas par quoi le remplacer...

        #include <iostream>
             #define TAILLE_MAX 1000

              int main (int argc‚ char *argv[])
              {
              int compteur;
              int nombre;

              char chaine[TAILLE_MAX] = "";
              FILE* fichier = NULL;

              fichier = fopen("fichier.txt""w");
              while (fgets(chaine‚ TAILLE_MAX‚ fichier)!= NULL)
                         {if (compteur==10)
                                 {nombre=chaine;
                                 }
                                  compteur++;
                           }
               }
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2006 à 23:24:57

          Pour écrire le fichier tu peux faire :
          fprintf("%ld %ld %ld etc",nombre,nombre2,etc);
          Ensuite pour lire ces nombres tu fais :
          fscanf("%ld %ld %ld etc",&nombre,&nombre2,etc);
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2006 à 23:28:50

            Ok, c'est déjà la méthode que j'utilisais pour ecrire les fichiers. Mais dans le cas présent je vais avoir beaucoup de donnée (sans doute plusieurs centaines), donc j'aimerai bien selectionner la bonne information (elles sont classer par lignes, un chiffre par ligne), c'est pq j'utilise une boucle... Avec ta méthode, il y a moyen de ne pas passer par tous les intermédiaires??
            • Partager sur Facebook
            • Partager sur Twitter
              20 décembre 2006 à 23:36:01

              euh j'ai pas tres bien compris la tu veux ne pas passer par tout les nombres ? Pourquoi faire des lignes au lieu de faire des espaces ?
              • Partager sur Facebook
              • Partager sur Twitter
                20 décembre 2006 à 23:40:56

                Oui, c'est ça, j'aimerai bien eviter de devoir taper 100 X "%ld %ld %ld %ld..........." avant de trouver le nb que je cherche.

                Pour ce qui est des lignes au lieu des espaces, c'est parce que j'ai fais ça comme ça au départ, mais ya pas plus de raison que de faire des espaces.......
                • Partager sur Facebook
                • Partager sur Twitter
                  20 décembre 2006 à 23:45:55

                  Effectivement pour les lignes et les espaces ^^ !
                  Donc tu peut faire un truc du genre

                  for(int i=0; i<100;i++)
                  {
                     fscanf("%ld"‚&nombre);
                     if(nombre == 10) //si c'est égal a 10
                         break;       //alors on sort de la boucle
                  }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 décembre 2006 à 0:19:20

                    Ok, j'ai fini par trouver (dans l'exmple que tu me montres, nombre=la valeur que tu lui donnes!!).
                    J'ai rajouté une condition (if (i==10){break;}).

                    Merci pour ton aide!!
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Utiliser des données contenues dans un fichier....

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown