begin process at 2010 03 22 02:26:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

lecture fichier [c++ builder]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lecture fichier [c++ builder]

lundi 10 avril 2006 à 17:35:41 | lecture fichier [c++ builder]

SaXo360

Bonjour, je lis dans un fichier des noms séparé par ce caractèere ';' et je devrait afficher ces noms dans mon combobox mais cane veut pas pourtant je suis quasi sur de mon code :/. je suis sous c++ builder.
C'est pour ca, un oeil exterieur pourrait peut etre m'aider :)

Voici le code : (jouvre le fichier plus haut dans le code)


        char var;
        char *couple="";
        char mots[20];
        int i=0;
        int taille=0;

        taille=FileSeek(desc,0,2);

        Edit2->Text=taille;


        while(taille!=0)
        {
                FileRead(desc,&var,1);

                if(var==';')
                {
                        int p=0;

                        p=i+1;
                        couple=new char[p];

                        for(int j=0; j<i; j++)
                        {
                                couple[j]=mots[j];
                        }
                        couple[p]='\0';

                        ComboBox1->Items->Add("couple");
                        i=0;
                        delete(couple);
                }

                else
                {
                        mots[i]=var;
                        i++;
                }

                taille--;
        }

lundi 10 avril 2006 à 18:22:40 | Re : lecture fichier [c++ builder]

SAKingdom

Membre Club
Juste pour savoir. Est-ce qu'il affiche couple dans ton combobox?

___________________________________________
Les plus grands esprits trouvent toujours une solution

lundi 10 avril 2006 à 19:30:58 | Re : lecture fichier [c++ builder]

SaXo360

non :/
J'avais fais exprès pour tester en mettant directement une chaine et ca s'affiche pas :/
Par contre si je met cette meme ligne en dehors de la boucle while ca marche :/

La vraie ligne pour affichier les noms c'était : ComboBox1->Items->Add(couple);
mais ca marche pas
mardi 11 avril 2006 à 16:31:24 | Re : lecture fichier [c++ builder]

Dvdmizo

salut,

en faisant :

FileSeek(desc,0,2);

tu te places à la fin de ton fichier et ensuite tu lis des caractères avec :

FileRead(desc,&var,1);

mais si tu ne remontes pas au début du fichier entre temps, tu tentes de lire à la fin de ton fichier, ce qui n'a aucun effet. Par conséquent tu n'auras jamais le caractère ';' dans ta variable var et donc tu n'ajouteras jamais rien dans ta ComboBox

essaye d'ajouter :

FileSeek(desc,0,0);

juste avant d'entrer dans ta boucle while.


j'espère que ça résout ton problème
DvdMizo
mardi 11 avril 2006 à 17:13:14 | Re : lecture fichier [c++ builder]

SaXo360

Merci beaucoup, c'était ca en fait :)

Par contre ca m'affiche pas correctement le contenu de mon fichier :/

Dans mon fichier c'est comme ca :          a;z;e;r;t;kiki;grizouille;tiop;junior;
et dans mon combobox ca s'affiche comme ca :
aV
zV
eV
rV
tV
kiki
grizouille
tiop
juniorX

Encore un pitit coup de main svp :)
mercredi 12 avril 2006 à 10:39:42 | Re : lecture fichier [c++ builder]

Dvdmizo

je pense que quand tu mets le '\0' de fin de chaine :

couple[p]='\0';

tu le mets un caractère "trop loin". en effet, tu incrémentes i à chaque caractère donc pour chaque caractère tu as :

mots[0] -> i = 1
mots[1] -> i = 2
mots[2] -> i = 3
etc...

mais quand tu affectes p tu fais :

p=i+1;

ce qui veut dire que si tu as (par exemple) 1 caractère ( 'a' par exemple) dans 'mots', au moment du ';' tu as :
mots[0] = 'a'
i = 1
p = i+1 // donc p=2

donc:
couple[p]='\0';

revient à faire :
couple[2]='\0';

ce qui veut dire que tu conserves le contenu de couple[1] et donc il peut y avoir n'importe quoi dedans...
il faudrait plutot faire :
couple[i]='\0';

je pense que ça devrait marcher mieux.
DvdMizo
mercredi 12 avril 2006 à 11:41:44 | Re : lecture fichier [c++ builder]

SaXo360

Merci beaucoup :).
Je n'y avait pas pensé :/
Je me douté que ca venait de là mais je savais pas où.
Encore merci :D


Cette discussion est classée dans : fichier, taille, var, char, couple


Répondre à ce message

Sujets en rapport avec ce message

Taille de ma structure [ par crocejf2000 ] Salut a tous, J'ai un tres gros probleme qui me bloque toute mon avancé dans mon prog : j'ai une structure : typedef struct{ unsigned short Locate; ch Mauvaise lecture fichier c++builder [ par SaXo360 ] Bonjour,alors voilà, je voulais la fonction fin de fichier pour que je puisse lire jusqu'a la fin du fichier lol mais avec eof ca marche pas, j'ai auc Malloc et mémoire affectée [ par Chop_chop ] Bonjour,J'ai un petit soucis quant à l'allocation de mémoire pour un char* avec l'utilisation de malloc.Voici mon code (bien allégé) :[CODE] char *fic taille fichier [ par dacor ] bonjour,comment peut on récupéré la taille d'un fichier ?merci écriture fichier [ par thorodin ] Salut,Quand j'enregiste une jpeg sur la caméra et que je la transfère par filezilla  le fichier  édité  avec  hexedit  donne (pour la première ligne) zlib [ par deck_bsd ] Bonjour a tous,Voila je fait un petit programme de compression avec la zlib. Mon seul problème est que lorsque je veut décompresser un fichier, forcém ouvrir plusieur fichierx textes [ par seignseifer ] Bonjour, alors je voudrais ouvrir plusieurs fichier textes pour mon programme. J'ai un peu avance mais je bloque sur quelquechose. Je fais une boucle [Langage C] Obtenir une ligne d'un fichier (scanf%[^X]) [ par Thranduil ] Bonjour, j'essaie de créer une fonction qui doit lire une ligne entière d'un fichier texte (donc jusqu'au '\n' mais ça ne marche pas. (C'est la même q Problème avec "fclose" [ par Polack77 ] Bonjours, cas fais 2 heures que je cherche mon bug et je ne trouve pas! C'est frustrant!J'ai fais pas mal de test et je ne trouve rien.Je met donc mon QWORD ? [ par Ziman ] Bonjour,j'aimerai récupérer la taille d'un fichier, j'utilise donc GetFileSize() après l'avoir ouvert avec CreateFile(). Pour les petits fichiers, ben


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales