IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

chargement de données à partir d'un fichier


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut chargement de données à partir d'un fichier
    Bonjour
    J’ai un fichier dont les données sont organisés comme suis

    nom_cours1
    nom_cours2

    nom_coursN
    $
    matricule1 nom1 prenom1 nb_cours1
    nom_cours1 note_cours1
    nom_cours2 note_cours2

    nom_coursN note_coursN
    matricule2 nom2 prenom2 nb_cours2
    nom_cours1 note_cours1
    nom_cours2 note_cours2

    nom_coursN noteCoursN

    Jai des tableaux a initialisé J’ai réussi à initialiser le tableau nomCours avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    void chargementDonnees(int matricules[max_etudiants],char noms[max_etudiants][taille_chaine + 1], char prenoms[max_etudiants][taille_chaine + 1], char nomsCours[nb_cours_offerts][taille_chaine + 1],char *cours[max_etudiants][max_cours],float notes[max_etudiants][max_cours],int nbCours[max_etudiants], int *code_err)
    {
    	int i=0,j=0;
    	char ch[taille_chaine + 1];
    	FILE *fichierprintf("Entrer le nom de fichier a charger:");
    	gets(ch);
    	printf("\n");
    	fichier=fopen(ch, "rt");
    	*code_err=erreur;
    	if(fichier==NULL)
    	{ printf("Erreur d'ouverture de Fichier!\n");
    		exit(1);
    	}
     
    		for(i=0;i<50;i+
    	{
    			fgets (ch , sizeof ch , fichier);
     
    			if(*ch!='$')
    			strcpy(nomsCours[i],ch);
    			else
    				break;
    			}
     
    fclose(fichier);
    *code_err=ok;
    }
    Il me reste initialiser les autre et je sais pas comment a partir du $ .Est-ce que je continu a utiliser fgets ?
    Comment je dois faire pour que
    matricule1 va être stocker dans un tableau matricules
    nom1 va être stocker dans un tableau nom
    prenom1 va être stocker dans un tableau prenom
    nb_cours1 va être stocker dans un tableau nbCours
    puisque les 4 paramètres se trouve dans la même ligne(matricule1 nom1 prenom1 nb_cours1)

    merci

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Par défaut
    Bonjour,
    Je sais pas si j'ai tout compris mais si les noms que tu veux recuprer sont toujour en un seul mort, je pense que tu devrais faire une fonction ou en trouver une si il en existe qui lit un et un seul mot dans un fichier.
    Quelque chose comme ca semblerai pas mal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    /** Cette fonction prend en parametre le fichier que tu veux lire et la chaine de 
     *caractère lu.*/
    int readFile(FILE *entry,char* string){
    	char tmp;
            string[0]='\0';
            while(1){
    		if(feof(entry))return -1;
    		fread(&tmp,sizeof(char),1,entry);
    		if(tmp==' '||tmp=='\n'||tmp=='\t')break;
    		string[i++]=tmp;
    		string[i]='\0';
    	}
    	if(string[0]=='\0')return readFile(entry,string);
            return 1;
    }
    ensuite si tu connais l'ordre des champs et que l'ordre est constant tu le fait pour les premières variables et tu fait une boucle pour ceux qui se répète.

    Tu peux même faire des fonctions pour lire un groupe de variable pour éclaircire le code. Par exemple pour lire matricule1 nom1 prenom1 nb_cours1 : une fonction qui utilise readFile puis strcpy de string dans martircule1, re readFile et strcpy de string dans nom1, etc ..

    Voila ma proposition, peut être qu'il y'a mieux mieux mais je pense que cela marche.

Discussions similaires

  1. chargement des données à partir d'un fichier text
    Par hazem2410 dans le forum Access
    Réponses: 1
    Dernier message: 05/03/2013, 10h02
  2. ajout de données à partir d'un fichier texte
    Par drakenzara dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/04/2006, 12h39
  3. Réponses: 3
    Dernier message: 29/03/2006, 14h23
  4. Réponses: 4
    Dernier message: 03/03/2006, 10h39
  5. Réuperer les données à partir d'un fichier de log
    Par Oberown dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/10/2005, 10h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo