Probleme :lecture a partir d'un fichier

Fermé
ToTo - 26 déc. 2007 à 18:22
 ToTo - 26 déc. 2007 à 20:32
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 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
26 déc. 2007 à 19:18
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
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 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
26 déc. 2007 à 19:35
tu veux recuperer tous les couples separement ou juste le premier et le dernier ?
0
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 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
26 déc. 2007 à 20:02
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
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