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 :

Insérer des données dans un fichier txt existant


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2011
    Messages : 42
    Points : 15
    Points
    15
    Par défaut Insérer des données dans un fichier txt existant
    Bonjour à tous et à toutes,

    Je suis confronté à un problème d'écriture dans un fichier txt.

    Je souhaiterai insérer des chaines de caractères dans un fichier txt existant à un endroit spécifique de ce fichier.
    J'arrive à me positionner dans ce fichier avec fseek par contre quand j'écris avec fwrite, matlab écrase le texte existant au lieu d'insérer.

    Existe-t'il une option me permettant de faire ça?

    Merci d'avance de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    donc tu aimerais ajouter du texte au milieu d'un fichier existant? Ce n'est pas possible sous matlab (la seule possibilité aurait été d'ajouter des données à la fin du fichier avec l'option append de fopen), il faut ré-écrire totalement le fichier.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2011
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Aïe ça ne m'arrange pas

    Il faudrait donc que je réécrive tout ce qui suit à partir de l'endroit où je veux insérer du texte.

    Merci pour la réponse en tout cas

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2011
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Donc en fait existe-t-il un moyen de copier les données existantes du fichier txt pour les inscrire dans un autre fichier texte?

  5. #5
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    la meilleur sollution c'est de lire le fichier text et mettre chaque ligne dans un tableaux et après crée un nouveau fichier insiré les ligne et se que tu veut ajouté, sur matlab je ne sais pas comment peut on faire sa, mais sur python par exemple c'est la sollution la plus simple (une fonction qui s'appel readlines)

  6. #6
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    Voici une sollution,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fid=fopen('ton_fichier');
    A=fread(fid,'*char');
    fclose(fid);
    L1=sprintf('se que tu veux ajouter')
    B=strvcat(L1,A);% par exemple tu écrit L1 puis le reste de ton fichier
    fileattrib((ton_nouveau_fichier),'+w');
    fid=fopen('le nouveau fichier');
    fwrite(fid,B);
    fclose(fid);

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2011
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup je vais tester ça

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2011
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Alors pour info j'ai résolu mon problème.

    Je n'ai pas utilisé fread qui ne prend pas en compte les délimiteurs dans le fichier.

    J'ai plutôt utilisé textscan pour copier la partie qui m'intéressait, plus particulièrement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S=textscan(fid,'%s','delimiter','\n')
    ça marche très bien.

    Merci à tous!

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/02/2008, 22h52
  2. Réponses: 4
    Dernier message: 14/05/2007, 10h50
  3. Réponses: 1
    Dernier message: 09/05/2007, 23h10
  4. [VBS]Lire des données dans un fichier .txt
    Par kacxial dans le forum VBScript
    Réponses: 4
    Dernier message: 28/02/2007, 13h44
  5. Remplacer / Supprimer des données dans un fichier txt
    Par PedroBD dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2006, 13h33

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