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 :

FileWrite en C++ Builder XE2


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Points : 18
    Points
    18
    Par défaut FileWrite en C++ Builder XE2
    Bonjour,

    J'ai une fonction qui enregistre un tableau dans un fichier en .csv
    En ouvrant mon fichier, chaque octet est séparé par un caractère NULL

    Je n'arrive pas à trouver mon problème. Avec C++ Builder 6 ça fonctionnait...

    Voici la fonction en C++ biulder 6

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void __fastcall TForm1::Save_Table(AnsiString fichier)
    {
        int iFileHandle;
        int iFileLength;
        int iBytesRead;
        char *pszBuffer;
        AnsiString byteread;
        iFileHandle = FileCreate(fichier);
        for (int y=0;y<Liste_CCIR->RowCount-1;y++)
        {
            FileWrite(iFileHandle, Liste_CCIR->Cells[0][y].c_str(), Liste_CCIR->Cells[0][y].Length());
            FileWrite(iFileHandle, separateur_ligne.c_str(), separateur_ligne.Length());
        }
        FileWrite(iFileHandle, separateur_tableau.c_str(), separateur_tableau.Length());
        FileClose(iFileHandle);
    }
    Voici la fonction en C++ biulder XE2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void __fastcall TForm1::Save_Table_BLL(AnsiString fichier)
    {
        int iFileHandle;
        int iFileLength;
        int iBytesRead;
        char *pszBuffer;
    	String byteread;
        iFileHandle = FileCreate(fichier);
        for (int y=0;y<Liste_CCIR->RowCount-1;y++)
        {
    		FileWrite(iFileHandle, Liste_CCIR->Cells[0][y].w_str(), Liste_CCIR->Cells[0][y].Length()*sizeof(wchar_t));
    		FileWrite(iFileHandle, separateur_ligne.w_str(), separateur_ligne.Length()*sizeof(wchar_t));
        }
    	FileWrite(iFileHandle, separateur_tableau.w_str(), separateur_tableau.Length()*sizeof(wchar_t));
        FileClose(iFileHandle);
    }

    Avez vous une idée?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    La deuxième version utilise l'unicode, ce qui donne des '\0' un peu partout.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Salut,
    Comment faire pour ne pas être en unicode?

Discussions similaires

  1. C++Builder XE2 plein de promesses mais
    Par phpdev dans le forum EDI
    Réponses: 13
    Dernier message: 09/03/2012, 19h10
  2. Chargement des packages à l'ouverture de C++ Builder XE2
    Par TsCyrille dans le forum C++Builder
    Réponses: 0
    Dernier message: 27/01/2012, 12h03
  3. Ajouter la plateforme "Win64" avec C++ Builder XE2
    Par TsCyrille dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/01/2012, 11h23
  4. [Base de donnée] c++ builder XE2 et interbase
    Par Dilane dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/12/2011, 13h39
  5. BCB 6 -> Builder XE2
    Par free07 dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/10/2011, 07h42

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