Lecture de flux et conversion de données

amin79 Messages postés 13 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 30 mai 2004 - 6 déc. 2003 à 21:20
amin79 Messages postés 13 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 30 mai 2004 - 6 déc. 2003 à 21:50
J'ai un fichier texte "donnees.txt" contenant les données suivantes :
1 4 6
2 7 9
3 2 19
4 8 17
où la première colonne désigne le n° d'une tâche, la deuxième colonne représente le temps de traitement de la tâche et la troisième colonne représente la date due de la tache.

Comment faire pour écrire un code qui lit le fichier texte, convertit les caractères en int et les place successivent dans num_tache; process_time; due_date.

MERCI D'AVANCE

****************************
#include
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
#include<string.h>
void main ()
{
FILE *donnees;
int i,k;
struct donnees_prb
{
int num_tache;
int process_time;
int due_date;
};
donnees_prb tab[20];
char buffer[10];
char ligne[10];
if((donnees=fopen("donnees.txt","r"))==NULL)
{
cout<<"\nImpossible d'ouvrir le fichier de donnees!!";
exit(0);
}
else cout<<"fichier ouvert avec succes\n";

while (fgets(ligne, 100,donnees) != NULL)
cout<<ligne<<"\n";
buffer[k]='\0';
i=0;
k=0;
// A partir d'ici, je bloque!!
while (ligne[i] != '\n')
{
while(ligne[i] != '\t')
buffer[k++]=ligne[i++];
tab[i].num_tache= atoi(buffer);
buffer[k]='\0';
i++;
k=0;

}
}

2 réponses

MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
6 déc. 2003 à 21:45
Vu ce que tu as réussi à faire je crois qu'il te manque simplment la fontion qui converti la saisi en int et bien c'est atoi(chaine);
asci to int ^^
(linverse etant itoa)
voila bonne chance ^^
0
amin79 Messages postés 13 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 30 mai 2004
6 déc. 2003 à 21:50
J'ai essayé de l'implémenter, mais apparemment ca ne marche pas. Que dois-je écrire précisément
0
Rejoignez-nous