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++Builder Discussion :

traduction d'un fichier en ascii puis recreation du fichier ascii


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut traduction d'un fichier en ascii puis recreation du fichier ascii
    bonjour,

    Question 1 :
    Je dispose d'un fichier texte qui contient l'image du contenu d'une mémoire d'une carte lectronique. J'a donc à la suite toute une série de caractères de valeur absolue comprise entre 0 et 256.
    Je sais à quoi correspond chaque caractères et comment remettre en ordre toutes ces données.

    Ma question : Comment manipuler ces octets dans le fichier texte pour construire un autre fichier texte lisibles en bon francais ; Comment récupérer le 45 et le 46emes octets pour en faire un entier par exemple.


    Question 2 :
    Comment faire le travaille inverse de ce que je décris dans la question 1 ? Comment manipuler les données lisibles en bon francais pour reconstruire le fichier image du contenu mémoire ?
    Par exemple :
    J'ai AdresseDebut,23 puis nom4,toto,546789045 dans le fichier "lisible"
    je souhaite enregistrer à partir du 23eme caractère du fichiers compilé : "toto546789045" en ascii

    Merci par avance pour vos orientations

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut
    C'est assez difficile de répondre à ta question car on n'a pas d'information sur ton fichier exactement. Il est difficile de te dire comment faire pour récupérer les infos si on ne sait pas de quel type de fichier il s'agit, comment sont codés les informations de ton fichier, est-ce qu'un octet correspond à un hexadécimal ? Est-ce qu'un octet est un code ascii ? Donne nous plus d'information sur ton fichier et ce qu'il contient.

    Sinon à priori, il suffit d'ouvrir le fichier, lire n oct correspondant à une lettre, le transcrire en français et passer à l'octet suivant.

    Donne nous plus d'informations concernant ton fichier à décoder.

    Bon courage.

  3. #3
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Bonjour , merci pour la réponse

    Les fichiers sont des fichiers text ou tout autre extension qui contient à la suite et en vrac des octets, image de ceux contenus dans une mémoire d'une carte electronique.
    Je ne sais pas trop comment mieux les décrire... chaque caractère, chaque octet de ce fichier va etre compris en 0 et 255 mais ce sera pas forcement de l'ascii ou de l'hexa, cela va dépendre de l'octet.

    Le premier octet va etre les poids fort d'un entier 16 bit qui indique la position de la première "dataquivabien", le second octet va être les poids faibles de la même info, le troisieme octet va être la première lettre du nom de la "dataquivabien" ......... le dixieme octet va être la valeur (entre 0 et 255) de la "dataquivabien".

    effectivement il me faut ouvrir le fichier puis lire le premier octet le traiter et ainsi de suite pour chaque octet, mais c'est ca que je ne sais pas faire...

    En gros je cherche à savoir comment extraire ces octets du fichier pour les manipuler facilement comme le Nieme octet du fichier, comme on le fait pour un tableau en appelant "Tableau[1]"

    Transférer le fichier dans un tableau peut etre ????

    Merci

  4. #4
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    bon juste une idée:
    si tu sépare tes valeurs dans le fichier texte par un séparateur exemple ";"
    valeur0;valeur1;......;valeursn
    ensuite tu commence a analyser ton texte caractere par caractere lorque tu tombe sur un séparateur ";" tu prend la valeur et tu l'empile dans un vecteur c'est dynamique et tu peux appeller en suite n'importe quelle valeurs

  5. #5
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    Ce dont tu as besoin, me semble-t-il, c'est de lire ton fichier en mode binaire plutôt qu'en mode texte de façon à remplir une zone de mémoire dans laquelle tu feras ce que tu as à faire.

    Il existe pour cela les fonctions classiques du C comme fopen() , fread() ou fget() (ne pas oublier #include <stdio.h>) et plein d'autres techniques aussi.

    Quant à ton explication
    chaque octet de ce fichier va etre compris en 0 et 255 mais ce sera pas forcement de l'ascii ou de l'hexa, cela va dépendre de l'octet
    il faut noter que toute valeur comprise entre 0 et 255 peut aussi bien être "ASCII" étendu et encore plus HEXA, tout dépend quelle langue on parle (décimal, binaire, hexadécimal...). Attention aux raccourcis ! L'hexadécimal, en l'occurence, n'est qu'une représentation d'une valeur toujours codée en binaire dans la machine.

  6. #6
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    merci pour cette réponse, c'est effectivement passer tout ca en mémoire en binaire pour traiter chaque ocet comme bon me semble quil me faut !

    j'ai bien compris que tout est une histoire de langue, si je savais pas comment decrire le contenu du fichier c'est bien parce que pour moi ce ne sont que des octets ! binaire ascii ou je ne sais quoi m'en fiche, tous dans le fichie ne sont pas à lire dans la même langue !

    Il n'hexiste pas des outils plus performants que ceux du C avec C++ ? (je ne dis pas que cex du C sont pas bien, c'est juste que j'ai déjà vu passer des trucs allucinants avec C++ builder...)

    Merci

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/09/2008, 08h10
  2. VBScript : Créer puis ouvrir un fichier csv
    Par Stephbzh dans le forum VBScript
    Réponses: 1
    Dernier message: 04/06/2008, 09h36
  3. Créer puis afficher un fichier Excel à partir d'Access
    Par SamLeChiseuji dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/07/2007, 08h44
  4. Réponses: 2
    Dernier message: 20/11/2006, 18h37
  5. Export ASCII par batchmove avec fichier SCH
    Par NONO77 dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/02/2005, 10h24

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