Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1

    Homme Profil pro
    retraité
    Inscrit en
    septembre 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2006
    Messages : 210
    Points : -13
    Points
    -13

    Par défaut modif fichier seule possible avec tableau open mode

    Bonjour à Tous,
    Dans un fichier extension rtf(c'est ma spécialité..!)
    sur la ligne 0 on trouve abc
    1 azerty
    2 qsdfgh

    Je voudrais modifier la ligne 0 en klm:
    -soit je passe par un tableau dans lequel je vais modifier la ligne 0 tbl[0]=abc deviendra tbl[0]=klm
    -soit je passe par ostream mais alors quelle instruction zyx employer dans <ios::zyx);>.
    Je passe par un tableau si la solution est une usine à gaz.
    En un mot comment se positionner en ligne 0 ou n évidemment sans détruire le fichier...!Les descriptions des possibilités ne sont pas claires pour moi.
    Bonne nouvelle année!
    Cordialement.

  2. #2
    Expert Confirmé Sénior

    Homme Profil pro Emmanuel Deloget
    Développeur informatique
    Inscrit en
    septembre 2007
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Nom : Homme Emmanuel Deloget
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : septembre 2007
    Messages : 1 894
    Points : 4 448
    Points
    4 448

    Par défaut

    Citation Envoyé par senvedgi Voir le message
    Bonjour à Tous,
    Dans un fichier extension rtf(c'est ma spécialité..!)
    sur la ligne 0 on trouve abc
    1 azerty
    2 qsdfgh

    Je voudrais modifier la ligne 0 en klm:
    -soit je passe par un tableau dans lequel je vais modifier la ligne 0 tbl[0]=abc deviendra tbl[0]=klm
    -soit je passe par ostream mais alors quelle instruction zyx employer dans <ios::zyx);>.
    Je passe par un tableau si la solution est une usine à gaz.
    En un mot comment se positionner en ligne 0 ou n évidemment sans détruire le fichier...!Les descriptions des possibilités ne sont pas claires pour moi.
    Bonne nouvelle année!
    Cordialement.
    (je ne sais pas si ios:... est qualifiée d'extension, je modifierai mon titre en conséquence)
    Les flux sont, et bien, des flux. Il n'y a pas d'accès via un système d'enregistrements numérotés. Du coup, il faut nécessairement lire tout, changer la partie qui t'intéresse, puis réécrire le tout. Les flux d'E/S sont là pour te permettre de coder les étapes 1 et 3, pas l'étape 2 (c'est en dehors de leur zone d'action).
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Modérateur
    Avatar de koala01
    Profil pro Philippe Dunski
    Inscrit en
    octobre 2004
    Messages
    9 740
    Détails du profil
    Informations personnelles :
    Nom : Philippe Dunski
    Âge : 42

    Informations forums :
    Inscription : octobre 2004
    Messages : 9 740
    Points : 17 222
    Points
    17 222

    Par défaut

    Salut,
    Citation Envoyé par Emmanuel Deloget Voir le message
    Les flux sont, et bien, des flux. Il n'y a pas d'accès via un système d'enregistrements numérotés. Du coup, il faut nécessairement lire tout, changer la partie qui t'intéresse, puis réécrire le tout. Les flux d'E/S sont là pour te permettre de coder les étapes 1 et 3, pas l'étape 2 (c'est en dehors de leur zone d'action).
    On pourrait d'ailleurs préciser, d'un point de vue purement matériel, qu'un fichier est littéralement "gravé dans le marbre" une fois qu'il est écrit sur le disque dur : le seul moyen pour modifier une partie de se fichier consiste... à casser la dalle et à en graver une autre
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4

    Homme Profil pro
    retraité
    Inscrit en
    septembre 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2006
    Messages : 210
    Points : -13
    Points
    -13

    Par défaut

    pour info comment s'appelle la partie ios::app ou trunc ou etc en C++ qu'on trouve au bout de ostream?
    Merci pour vos réponses nettes!!

  5. #5
    Membre émérite
    Inscrit en
    décembre 2008
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 533
    Points : 866
    Points
    866

    Par défaut

    Cf la doc du constructeur :
    http://en.cppreference.com/w/cpp/io/...basic_ofstream
    C'est un type ios_base::openmode, donc un "open mode".

  6. #6

    Homme Profil pro
    retraité
    Inscrit en
    septembre 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2006
    Messages : 210
    Points : -13
    Points
    -13

    Par défaut

    openmode: quand on travaille avec dev-cpp < openmode> apparait en image sous le curseur comme suggestion d'instruction.
    Je viens de m'en apercevoir ce matin!

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •