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

Visual C++ Discussion :

Probl�me de typage


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 92
    Par d�faut Probl�me de typage
    Salut,

    J'ai un souci de typage, j'essaie pleins de trucs et rien n'y fait.

    Voil�, j'ai un fichier *.txt contenant des donn�es GPS. Je souhaite les parser pour les mettre au format adh�quate pour un autre logiciel.

    J'ouvre donc ce fichier txt avec les fonctions suivantes :
    - CreateFile
    - CreateFileMapping
    - MapViewOfFile
    Laquelle me retourne un pointeur (pMemory) de type LPVOID qui pointe au d�but des donn�es mapp�es en m�moire.

    J'alloue un autre espace de byte vides en m�moire avec les fonctions suivante :
    - HeapAlloc
    Laquelle elle aussi me renvoie un pointeur (pAllocMemory) de type LPVOID


    J'ai donc deux pointeurs de m�me type qui pour l'un pointe sur les donn�es brutes et l'autre sur un espace de bytes vides. Tout est pr�t pour le traitement des donn�es.

    Sauf que je n'arrive pas � passer un byte de l'une � l'autre de ces zones.
    Ca par exemple �a ne fonctionne pas.
    LPVOID pMemory;
    LPVOID pAllocMemory;


    LPBYTE cb = (LPBYTE) pMemory;
    (LPBYTE) pAllocMemory = cb;

    Comment manipuler de bytes, en assembleur aucun souci, par contre en C++ c'est super casse pied le typage est vraiment quelque chose de chiant.


    Merci.

  2. #2
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Bonjour.

    Citation Envoy� par Morgatte Voir le message
    Voil�, j'ai un fichier *.txt contenant des donn�es GPS. Je souhaite les parser pour les mettre au format adh�quate pour un autre logiciel.

    J'ouvre donc ce fichier txt avec les fonctions suivantes :
    - CreateFile
    - CreateFileMapping
    - MapViewOfFile
    L'ouverture du fichier avec CreateFile est suffisante. Apr�s on fait un ReadFile.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 92
    Par d�faut
    C'est ok, J'ai trouv�.

    Non je voulais que tout soit trait� en m�moire pour que ce soit plus rapide. En plus je souhaite traiter des bytes donc des donn�es au del� des simples caract�res.
    D'ailleurs MapViewOfFile retourne un pointeur de type VOID, c'est pas pour rien c'est justement pour avoir la possibilit� de traiter tous types de donn�es et non pas seulement des char*.

    Mais c'est ok j'ai trouv�. Merci d'avoir r�pondu.
    Bye.

    *((BYTE*)pDest+iD) = *((BYTE*)pSource+iS);

  4. #4
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Bonjour.

    Citation Envoy� par Morgatte Voir le message
    Non je voulais que tout soit trait� en m�moire pour que ce soit plus rapide.
    On utilise CreateFileMapping pour partager de la m�moire entre deux processus, est-ce le cas ?

    Si ce n'est pas le cas, cela n'a aucun int�r�t. Quand on fait un ReadFile, les donn�es lues sont aussi en m�moire... D'ailleurs il n'y a aucun Benchmark qui confirme ou non que l'un est plus rapide que l'autre.

    Citation Envoy� par Morgatte Voir le message
    c'est justement pour avoir la possibilit� de traiter tous types de donn�es et non pas seulement des char*.
    Voici la d�finition de BYTE :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    typedef unsigned char BYTE;   // 8-bit unsigned entity.
    typedef BYTE *        PBYTE;  // Pointer to BYTE.
     
    BYTE Ch;                      // Declare a variable of type BYTE.
    PBYTE pbCh;                   // Declare a pointer to a BYTE
                                  //  variable.
    http://msdn.microsoft.com/en-us/libr...v=vs.100).aspx

    Je ne vois pas vraiment de diff�rence... un BYTE est un unsigned char...

Discussions similaires

  1. R�ponses: 6
    Dernier message: 25/02/2007, 17h56
  2. probl�me de typage
    Par sissi25 dans le forum Servlets/JSP
    R�ponses: 15
    Dernier message: 10/01/2007, 12h59
  3. [Typage] Probl�me avec typage de variables
    Par elitemedia dans le forum Langage
    R�ponses: 2
    Dernier message: 17/11/2006, 02h18
  4. [Tableaux] Probl�me de typage sur un float
    Par Lomu dans le forum Langage
    R�ponses: 1
    Dernier message: 06/11/2006, 11h47
  5. [SQL2005] probl�mes de typage de colonne en XML
    Par titouc330 dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 18/10/2006, 12h52

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