Accueil > Forum > > > > pb de chargement d'un fichier txt dans un tableau
pb de chargement d'un fichier txt dans un tableau
mercredi 5 août 2009 à 16:05:18 |
pb de chargement d'un fichier txt dans un tableau

malouve
|
Bonjour,
j'ai un problème bloquant dans mon projet et j'ai désespérement besoin d'un coup de main
j'ai fait un traitement sur un fichier de base pour retirer des elements qui m'interessent que j'ai mis dans un autre fichier txt en sortie appelé f.
le fichier f se présente comme suit
value position
132879 239
129838 495
119677 748
124528 1004
129679 1259
118786 1516
106028 1519
110390 1521
107297 1525
106501 1527
131993 1531
131886 1533
132069 1535
133263 1537
122166 1770
119731 2025
121256 2027
111250 2029
107753 2031
113319 2033
113187 2035
109311 2037
113094 2040
122961 2044
113557 2048
113885 2052
112427 2057
113695 2060
114689 2064
126138 2068
112124 2072
112572 2076
112929 2080
je voulais maintenant reprendre le fichier de sortie f en lecture pour effectuer d'autres traitements sur ces valeurs
j'ai donc
Code C/C++ :
sprintf((char *) &filename,"fic2_res.txt");
f = fopen(filename,"w+");
// compt est le nombre de lignes dans mon fichier f qui a été écrit auparavant
// tab1 et tab2 sont 2 tableaux qui recupère respectivement la 1ère colonne et la 2nde colonne de mon fichier
for (k=1;k<compt;k++)
{
fscanf (f,"%d %d\n", &tab1[k], &tab2[k]);
printf ("%d %d\n", tab1[k], tab2[k]);
}
Mon problème est que à l'affichage,
je n'ai pas les premières valeurs et j'ai par exemple pour la ligne en rouge
961 044
je ne comprends vraiment pas le pb
mon indice k, compt est déclaré en long
j'écris et je veux lire mon fichier f dans la même fonction ;
Merci si vous y comprenez quelque chose
|
|
mercredi 5 août 2009 à 17:14:49 |
Re : pb de chargement d'un fichier txt dans un tableau

gaoul78990
|
bonjour,
quel est le type de tes tableaux? s'il sont déclarés en tant que int le pb vient peut etre de la (val > 65535)et qu'il faudrait déclarer des long et changer ton code:
Code C/C++ :
fscanf (f,"%ld %ld\n", &tab1[k], &tab2[k]);
printf ("%ld %ld\n", tab1[k], tab2[k]);
|
|
mercredi 5 août 2009 à 17:16:36 |
Re : pb de chargement d'un fichier txt dans un tableau

malouve
|
je pense que le problème est que je ne fais pas la lecture en début de mon fichier (qui vient à peine d'être créé en écriture)
sauriez-vous comment faire pour lire en début de mon fichier et récupérer les valeurs dans les deux tableaux ( sans la première ligne qui correspond au message )
je vous remercie d'avance pour vos réponses
|
|
mercredi 5 août 2009 à 17:48:39 |
Re : pb de chargement d'un fichier txt dans un tableau

gaoul78990
|
Code C/C++ : int d,k,compt=20;
long int tab1[500],tab2[500];
FILE* f;
f = fopen("test.txt","r+");
char chaine[100];
fscanf (f,"%s\n",chaine);
for (k=0;k<compt;k++)
{
fscanf (f,"%ld %ld\n", &tab1[k], &tab2[k]);
printf ("%ld %ld\n", tab1[k], tab2[k]);
}
En espérant avoir fait avancé le shmilblik 
|
|
mercredi 5 août 2009 à 19:12:11 |
Re : pb de chargement d'un fichier txt dans un tableau

malouve
|
excuses moi je viens de voir ton message.
Mes tableaux sont bien des Long
et f est à la base un fichier qui est créé en écriture ( vu que c'est le resultat d'un premier traitement )
ensuite j'utilise le f en lecture , c'est pourquoi je l'ai déclaré en w+
pas de changement pour ton id mais merci bcp
|
|
mercredi 5 août 2009 à 19:38:32 |
Re : pb de chargement d'un fichier txt dans un tableau

Chouchou182
|
Salut,
Est-ce que tu ne peux pas stocker dans le tableau les valeurs lorsque tu les "retire du fichier de base" ? Plutôt que mémoire -> disque -> mémoire, essaie le mémoire -> mémoire, plus simple et plus rapide (ce qui n'empêche pas de sauvegarder les données dans un fichier si tu en as un autre usage).
Avec un int (32 bits en général), on peut compter jusqu'à plus de 2 milliards, ce qui est largement suffisant pour stocker 122961.
Ça :
sprintf((char *) &filename,"fic2_res.txt");
n'a pas d'intérêt.
fscanf, entre autres, renvoie une valeur (int fscanf(...)) ; c'est dommage de ne pas la regarder.
Bonne prog,
--
Chouchou.
|
|
mercredi 5 août 2009 à 21:18:27 |
Re : pb de chargement d'un fichier txt dans un tableau

malouve
|
slt Chouchou182,
finalement, je mets mes valeurs dans un tableau et j'effectue d'autres traitements.
je voudrais tester la colonne des positions
si les positions se suivent ( de 2, 3 ou 4 ) alors on conserve que la value la plus élevée de toutes les valeurs
exp: les valeurs en rouge ont des positions qui se suivent
value position
132879 239
129838 495
119677 748
124528 1004
129679 1259
118786 1516
106028 1519
110390 1521
107297 1525
106501 1527
131993 1531
131886 1533
132069 1535
133263 1537
donc dans mon fichier de sortie , je dois avoir
value position
132879 239
129838 495
119677 748
124528 1004
129679 1259
133263 1537
si vous avez des idées
j'ai fait cet algo mais c'est pas terrible
Code C/C++ : for (k=1;k<compt;k++)
{if ((tab2[k+1]== tab2[k]+2) ||(tab2[k+1]== tab2[k]+3)|| (tab2[k+1]== tab2[k]+4))
{ if (tab1[k+1]>tab1[k])
{if (f) fprintf (f,"%d %d\n",tab1[k+1], tab2[k+2]);
else fprintf(stderr,"Erreur : ne peut pas ouvrir %s\n",filename);
}
}
else
{if (f) fprintf (f,"%d %d\n",tab1[k], tab2[k]);
else fprintf(stderr,"Erreur : ne peut pas ouvrir %s\n",filename);
}
}
merci
|
|
Cette discussion est classée dans : fichier, pb, txt, color, compt
Répondre à ce message
Sujets en rapport avec ce message
PB: ouverture de fichier [ par stephanelin ]
Bonjour tt le monde,j'ai réalisé un prog. qui permet de charger ds un fichier txt deux colonnes de mots (je les rentre 2 par deux, par ligne...)... l'
ouverture d'un gros fichier txt ( taille > 3Mo) [ par malouve ]
Bonjour, J'ai a traité des fichiers txt de valeurs dont je ne connais pas le nombre d'elements mais qui font plus de 3Mo. J'ai essayé la fonction fre
pb de pointeur [ par elisabeth_nov ]
Bonsoir,mon souci c'est que j'ai créé un programme qui permet de crypter un fichier, ce que je ne parvien pas à faire c'est à afficher le fichier que
gestion d'un fichier.txt en C++ [ par moberol ]
Bonjour à tous! je debute en C++,le problème c'est que je voudrai lire un fichier texte dans sa totalité...en meme temps compter le nombre "d'un mot"
pb d'exécution pgm c++ [ par malikach ]
Bonjour, j'ai un pb avec mon pgm C++, j'ai fait un pgm qui lit à partir d'un fichier dans un tableau , le tableau est à deux dimensions déclaré en u
Gros problème sur les fichiers en C [ par Zworykin ]
Bjr à tous voià dans le cadre d'un tp je dois faire les fichiers de mon programme. j'arrive à écrire dans mon fichier mais je calle trop et c'est pas
En C++, stocker dans un AnsiString le contenu d'un fichier .txt [ par pokerdany ]
Bonjour tout le monde! Après de longues recherches qui ne m'ont pas amenées à un résultat satisfaisant, je repose la question, en espérant que je ne v
ecrire fichier txt avec ofstream [ par MiharbiDoNo ]
bonjour, je suis encore debutant en c++, je veux juste savoir commment ecrire des lignes de texte dans un ficher txt. j'ai vu des tuto mais j'ai pas a
ecriture d'un txt dans le même dossier [ par MiharbiDoNo ]
j'essai d'ecrire un fichier txt a l'aide de [code=cpp]ofstream myfile; myfile.open ("exemple.txt");[/code] le probleme c'est l'emplacement du fichier
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|