Probleme :lecture a partir d'un fichier

ToTo -  
 ToTo -
Bonjour,

J'essaye de creer une fonction qui lit a partir d'un fichier. Le fichier est ecrit de la maniere suivante:

une ligne contient un indice puis un couple a-b OU plusieurs couples.

1 2-3 11-7 10-20 (exemple de ligne contenant plusieurs couples , l'indice est 1)
5 6-7 (exemple de ligne contenant un seul couple, l'indice est 5)

j'ai reussi a lire l'indice et le premier couple de chaque ligne par le code suivant :

while (!feof(fichier))
{
fscanf(fichier,"%d %d-%d\n", &temps, &depart, &arrive);
//printf("%d %d %d\n", temps, depart, arrive);
}

COMMENT TESTER S'IL YA PLUSIEURS COUPLES?COMMENT LES RECUPERER ??

Merci d'avance

6 réponses

mype Messages postés 2449 Statut Membre 437
 
pourquoi utiliser tant de variable ??? ça complique les choses
a ta place j'utiliser un pointeur de caractere
ça donnerait ça
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
  FILE *fichier;
  char *temps;

	temps = (char *) malloc(50);
	fichier=fopen("f.txt","rt");
	if(fichier==NULL) printf("le fichier n'existe pas\n");
	while (!feof(fd))
	{
		fgets(temps,50,fd);
		printf("%s", temps);
		strcpy(temps,"");
	}
	printf("\n");
return 0;
}
0
ToTo
 
je veux stocker l'indice et chaque couple dans des structures "requete" (contenant le temps, le depart, l'arrivee).
J'arrive a faire ca avec le premier couple, mais je ne sais pas acceder aux autres.
Avec ta methode, on recupere toute la ligne, comment recuperer les differents elements souhaités pour chacun des couples ??
0
mype Messages postés 2449 Statut Membre 437
 
tu veux recuperer tous les couples separement ou juste le premier et le dernier ?
0
ToTo
 
tous les couples, chaque fois on recupere le couple, on le stocke dans une cellule, puis on passe au suivant s'il existe.mon code me permet de recuperer le premier couple de chaque ligne seulement. comment tester s'il exicte plusieurs couples sur un ligne,et le plus important comment les recuperer ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mype Messages postés 2449 Statut Membre 437
 
dans ce cas il faut tester pour voir si t'es en fin de ligne tant que tu n'as pas de '\n' tu lis des couples
0
ToTo
 
merci, je vais changer le contenu du fichier .txt pour avoir un couple par ligne seulement. Et tampis pour la note du projet :) Merci de nouveau
0