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