Bonjour,

J'ai un problème avec ce 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
 
//Je crée une chaîne de caractères pouvant en contenir 65538
char *Line=new char[65538];
if(Line!=0)
{
     //Je lis une ligne dans un fichier et je la stocke dans la chaîne de caractères
     fgets(Line,65538,hConfigurationFile);
     //Je crée une variable qui va contenir la longueur de la chaîne de caractères
     int *LineLen=new int;
     if(LineLen!=0)
     {
          *LineLen=strlen(Line);
          //Si le dernier caractère est un caractère de nouvelle ligne ou si le nombre de caractères dépasse 65536
          if(Line[*LineLen-1]=='\n' || *LineLen>65536)
          {
               //J'efface le dernier caractère
               Line[*LineLen]=0;
               //Je décrémente la variable qui contient la longueur de la chaîne de caractères
               *--LineLen;
          }
          delete LineLen;
     }
     delete[] Line;
}
Le problème est qu'après la décrémentation de la variable LineLen celle-ci contient une valeur erronée.

A l'instant LineLen est égal à 11 et après la décrémentation était égal à 17.

D'avance merci de votre aide.