[Besoin d'aide] [Langage C] [Les fichiers]
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[Besoin d'aide] [Langage C] [Les fichiers]



  1. #1
    invite3236ff84

    [Besoin d'aide] [Langage C] [Les fichiers]


    ------

    Bonsoir,
    Je suis étudiant en informatique et je rencontre quelques problèmes avec un tp que je dois rendre cette semaine.

    On nous a donné un fichier qui contient les matricule , Nom puis prénoms d'étudiants répartis dans des groupes

    j'aimerais savoir comment lire les matricules noms et prénoms a partir de ce fichier :

    Nom : Capture.PNG
Affichages : 103
Taille : 18,4 Ko


    sachant que les noms et prénoms qui sont composés ( qui contiennent 2 mots ) on été mis entre guillemets ,alors comment est ce que je pourrais les lire sans les guillemets ?
    il y a aussi les mots groupe1 groupe2 et groupe3 qui gênent.
    Merci.
    voila tout ce que j'ai pu faire , je suis débutant :
    Code:
    (
    char SautDeLigne[256],Mot[7],Matricule[25],Nom[25],Prenom[25];
        FILE* fichier;
        fichier= fopen("Etudiants.txt","r");
        fgets(Mot,7,fichier);
        if (strcmp(mot,"Groupe")!=0)
               fscanf(fichier,"%s %s %s",Matricule,Nom,Prenom);
           }
        else 
                fgets(SautDeLigne,256,fichier);

    -----
    Dernière modification par JPL ; 29/03/2020 à 00h47. Motif: ajout de la balise Code (#) pour garder l’indentation

  2. #2
    umfred

    Re : [Besoin d'aide] [Langage C] [Les fichiers]

    une petite suggestion sur le principe à faire (ce n'est à mon avis pas forcément la meilleure solution):
    - Lire la ligne entière (quelque soit sa longueur) avec fgets => sautdeligne
    - regarder si la ligne commence par un chiffre (sautdeligne[0] >='0' ET sautdeligne<='9')
    - si c'est le cas, analyser la ligne: 1er mot => matricule, si caractère ='"' alors lire jusqu'à trouver '"' et mettre les caractères dans Nom, sinon mot dans Nom (et même principe pour le mot suivant)
    - afficher matricule, nom, prénom
    - passer à la ligne suivante

  3. #3
    invite8fc9f222

    Re : [Besoin d'aide] [Langage C] [Les fichiers]

    Hello pour lire un fichier csv ce qui semble être le cas il y'a la libcsv en langage C. Elle fait exactement le job je viens de l 'utiliser. Elle sait s' affranchir des guillemets. On la trouve avec moteur de recherche

  4. #4
    jojo150393

    Re : [Besoin d'aide] [Langage C] [Les fichiers]

    n'utilise pas fscanf mais parse toi-même la ligne en séparant les groupes quand il y a des espaces. Tu pourras ainsi supprimer les ".
    Tu n'es pas obligé d'utiliser ta variables mot, tu as déja SautDeLigne de défini.
    Autre point, il faut toujours tester les erreurs => tu dois tester que fopen a reussi, sinon ton programme peut crasher.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. [MATLAB] Besoin d'aide - langage de programmation
    Par invite145565e3 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 19/04/2017, 08h08
  2. Besoin d'aide en programmation langage c svp ?
    Par inviteeec8d4de dans le forum Programmation et langages, Algorithmique
    Réponses: 22
    Dernier message: 25/08/2013, 17h46
  3. langage VHDL débutant besoin d'une petite aide svp
    Par invite7dc03981 dans le forum Électronique
    Réponses: 1
    Dernier message: 19/11/2011, 20h20
  4. Besoin d'aide sur le choix d'un langage de programmation
    Par inviteff538fb5 dans le forum Programmation et langages, Algorithmique
    Réponses: 23
    Dernier message: 05/09/2011, 17h15
  5. langage ladder, besoin d'aide
    Par invite1c5fc531 dans le forum Électronique
    Réponses: 2
    Dernier message: 30/11/2008, 14h33