Bonjour à tous.
Je programme sur C++ Builder 6.
J'aimerais enregistrer un fichier dans un pointeur (pTestXML).
Malheureusement une limitation est effectué sur celui-ci...
Le pointeur ne contient que 5120 Bytes d'informations, alors que mon fichier est sensiblement plus gros.
Avez vous une idée pour résoudre ce problème?

Mon code:

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
17
18
19
20
21
22
23
24
 
   FILE *pFile;
   size_t Result;
   char *pTextXML;
   long FileSize;
 
   // Ouverture du fichier XML
   pFile = fopen ("villes.xml","r");
 
   fseek (pFile,0,SEEK_END);
   FileSize = ftell (pFile);      // FileSize = 5123
   rewind (pFile);
 
   // Reserve la mémoire pour enregistrer le fichier dans un buffeur
   pTextXML = (char*) malloc (sizeof(char)*FileSize);
   // Vérification que l'allocation à été effectuée
   if (pTextXML == NULL)
   {
      ShowMessage("Allocation de la mémoire échouée");
      Application->Terminate();
   }
 
   Result = fread (pTextXML,sizeof(char),FileSize,pFile);
   // Result = 5120 alors que pTextXML ne contient que 5120 Bytes de données...