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 :

nettoyer espace disque avant écriture


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2006
    Messages : 286
    Par défaut nettoyer espace disque avant écriture
    Bonjour,
    Est-il utile d'écrire un caractère X juste avant d'écrire le contenu d'un tableau
    sur le disque pour que l'espace disque soit "propre":
    "mon contenu est ici" remplace "XXXXXXXXXXXXXXXXXXX" que je viens d'écrire sur le disque,ce qui donne "monXcontenuXestXici" donc pas de surprises à la relecture.
    Utile? Pas utile?
    Quelles sont vos réponses?
    A+++

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    ?????????

    As-tu déjà essayé d'écrire dans un fichier ?

    Réécrire plusieurs fois sur l'espace disque permet de rendre un peu plus irrécupérable l'ancien contenu ( chaque contenu laisse une petite trace qu'il est parfois possible de récupérer ).

    Mais si tu écris "toto foo", lors de la lecture tu auras "toto foo", je ne vois pas pourquoi le caractère espace serait remplacé par un "X" .

    Donc pour moi écrire sur l'espace disque avant d'écrire le contenu du fichier n'est pas utile, au contraire il va même te prendre plus de temps qu'une seule écriture pour finalement ne rien gagner.

  3. #3
    Membre très actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2006
    Messages : 286
    Par défaut
    N'étant pas expert je posais la question.
    Donc X a disparu et est remplacé par espace sur le disque?
    L'écriture réelle c'est AespaceB.
    Si on lit le disque avec un autre programme parasite L l'espace reste un espace. On ne risque pas d'y retrouver X?

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    L'espace est un caractère comme les autres.

    Les caractères sont généralement codés sous formes d'entiers de 8 bits (cf table ASCII et table ASCII étendu), il peuvent aussi être codés sur des entiers de 16, 32 bits.

    Et ce sont ces nombres qui seront écrit sur le disque dur.


    Un octet est composé de 8 bits et un bit peut valoir 0 ou 1.

    Ainsi lorsque tu fait un retour à la ligne : '\n', tu écrira la valeur correspondante ( 0x0A en hexadécimal en ASCII) soit 0000 1010 en binaire.
    Un espace ' ' vaut, en ASCII, 0x40 en hexadécimal soit 0100 0000 en binaire.

    Et puis quelle serait la logique de remplacer les espaces par les caractères des anciens fichiers ?
    Cela n'aurait aucun sens, si on écrit un espace, c'est bien pour avoir un espace dans le fichier final non?

  5. #5
    Membre très actif
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2006
    Messages : 286
    Par défaut
    corollaire, dernière interrogation.
    En français espace et blanc sont deux mots différents. En informatique je n'ai jamais obtenu de réponse tenant la route.
    Sur le disque un espace entre 2 caractères est un saut physique entre 2 caractères et entre les deux caractères une écriture inconnue. Est-ce possible qu'un programme saute d'un caractère à l'autre et laisse cet espace?
    Ou un programme écrit-il un blanc quand on lui fait écrire un espace?
    Dans ce cas espace et blanc sont la même chose?
    Cordialement.

  6. #6
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    J'ai du mal à te suivre.

    Quand le programme rencontre un caractère espace et qu'on lui demande d'afficher ce caractère, il l'affiche.
    Quand il rencontre un caractère de tabulation '\t', il effectue une tabulation, quand il rencontre un retour à la ligne '\n', il va à la ligne, quand il rencontre un retour chariot '\r' il retourne au début de la ligne, quand il rencontre un caractère 'i', il affiche le caractère i.

    J'ai l'impression que tu cherches un peu midi à 14h.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2012, 11h12
  2. Espace disque....
    Par Grandad95 dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/07/2004, 11h52
  3. Probleme d'espace disque (= 0)
    Par infotron dans le forum Administration système
    Réponses: 12
    Dernier message: 01/06/2004, 18h29
  4. VBScript pour obtenir l'espace disque libre
    Par Archangelo dans le forum ASP
    Réponses: 2
    Dernier message: 05/05/2004, 12h33
  5. visualiser l'espace disque occupé par ma base
    Par superdada dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/01/2004, 14h59

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