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

MATLAB Discussion :

[Débutant] Lire un .txt ayant deux lignes de texte puis 2 nombres par ligne


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut [Débutant] Lire un .txt ayant deux lignes de texte puis 2 nombres par ligne
    Coucou,

    voilà j'ai un problème tout con. Je n'ai pas de problème pour lire/écrire quand mon fichier txt n'est composé que de nombres (2 nombres par ligne); par contre, je n'arrive pas à lire les valeurs lorsque mon fichier contient 2 lignes de texte avant mes valeurs.

    Basiquement, dans le code suivant, data (qui doit contenir mes valeurs) ne contient plus rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        fid=fopen('sub.txt','r') ;  
        data=fscanf(fid,'%g %g',[2 inf]);
        data = data'
        fclose(fid);
    (Si je place la commande length(data) il me retourne zero.)

    Comment éviter ce problème svp.

    Merci

    EDIT : J'oubliais, je me moque des deux lignes de texte, je ne désire pas les lire.

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    de manière bourrine, je mettrais un try... catch autour de ton fscanf.

    Mais il y a sûrement mieux

  3. #3
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    si t'as du texte avant tes valeurs voici ce qu'il te faut:http://www.mathworks.com/support/tec...1400/1402.html

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Salut les gars,

    merci de m aider.

    Je pensais tout simplement que je passais a coter d un truc tout simple, mais visiblement avec matlab, c po si easy pour traiter ca.

    Merci pour le lien tug83 (en fait je l avais trouvé, mais prendre un truc si gros, pour traiter un cas tout con, je trouvais ca bizarre. Puis bon, j ai pas tout compris a la fonction. J ai compris comment l utiliser, mais je preferrerais ecrire mon truc ^^

    Pour le try/catch, je ne suis pas sur de comprendre comment tu pourrais l appliquer ici

    Bref ... je seche toujours ...

  5. #5
    Vol
    Vol est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Par défaut
    J'utilise ceci pour sauter une ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgetl(fid);    % Récupérer la ligne sans la stocker
    Tu pourrais essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fid=fopen('sub.txt','r');
     
    % Saute les deux permière lignes
    fgetl(fid);
    fgetl(fid);
     
    data=fscanf(fid,'%g %g',[2 inf]);
    data = data';
     
    fclose(fid);

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Grand merci a toi Vol,

    C exactement ce que je voulais ^^

    Merci merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2011, 23h21
  2. probleme dans une fonction qui affiche le nombre de ligne du texte
    Par étoile de mer dans le forum Débuter
    Réponses: 7
    Dernier message: 19/09/2008, 08h25
  3. un controle text avec bkgrnd diff par ligne
    Par hpfx dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 23/02/2008, 18h14
  4. Lecture fichier texte avec un nombre de lignes à ignorer
    Par TravelMate dans le forum Langage
    Réponses: 20
    Dernier message: 02/08/2006, 11h59
  5. JTextArea nombre de lignes de texte
    Par groupe51 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 30/07/2006, 15h04

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