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

Windows Discussion :

[VC++7]Unicode GetFileSize and ReadFile


Sujet :

Windows

  1. #1
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut [VC++7]Unicode GetFileSize and ReadFile
    Bonjour à tous,

    Suite a une migration en UNICODE, ma fonction ReadFile me retourne une taille inferieure a la taille de mon fichier...
    Auriez vous une idée ?
    Ci dessous monde code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    HANDLE hXmlfile=0;
    hXmlfile = CreateFile(f_sFileName,	GENERIC_READ,FILE_SHARE_READ, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
    DWORD f_nFileSizeHigh = 0;
    DWORD f_nFileSize = 0;
    BYTE * m_pFileBuffer;
    f_nFileSize = GetFileSize(hXmlfile,&f_nFileSizeHigh);
    if (f_nFileSize != 0)
    {
    	m_pFileBuffer = (BYTE *)malloc (f_nFileSize);
    	// Checks if the allocation was ok
    		
    	DWORD sizeReading = 0;
    	ReadFile(hXmlfile, m_pFileBuffer, f_nFileSize, &sizeReading,NULL);
    Dos

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Utilise les balises CODE au lieu de COLOR.

    ReadFile n'est pas affectée par l'Unicode, donc le problème doit vernir d'ailleurs. Tu tests sa valeur de retour ?

  3. #3
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut
    La fonction ne retourne pas d'erreur...
    Le fichier à été crée au notepad, et-ce que cela peut-il avoir un rapport...?
    Merci pour votre aide.
    Dos

  4. #4
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut
    Cela ne pourrait-il pas venir du type utilisé ?
    Si oui par quoi le remplacer ?
    Dos

  5. #5
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Non. Quelle taille fait ton fichier (comment le sais-tu), et combien d'octets lit ReadFile / renvoie GetFileSize ?

  6. #6
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut
    La valeur retournée par "GetFileSize" est la même que celle retournée par ReadFile. Cela est cohérent...

    Au niveau des option de projet->C/C++->Langue j'ai :

    Désactivation des extentions de langage : non
    Char unsigned par defaut : non
    Traitement tchar_w en tant de type intégré : non
    Conformité forcé dans la porté d'une boucle for : non
    Activation des information de type : oui

    Ceci peut-il avoir un rapport ?
    Dos

  7. #7
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Alors je pense que la taille qu'ils t'indiquent est la bonne, en clair qu'il n'y a pas d'erreur

  8. #8
    Dos
    Dos est déconnecté
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Points : 84
    Points
    84
    Par défaut
    En effet tout a l'air bon (c'est bien la bonne taille), pourtant la chaine contenue dans m_pFileBuffer a l'air coupée...
    Dos

  9. #9
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Tu lis un fichier unicode ?

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. ReadProcessMemory and Unicode
    Par slam666 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/10/2008, 03h49
  3. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  4. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  5. Fip, modbus and co...
    Par xave dans le forum Développement
    Réponses: 2
    Dernier message: 24/05/2002, 13h25

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