Problème décrémentation -- avec pointeur
Bonjour,
J'ai un problème avec ce code :
Code:
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.