Bonjour,

J'ai un petit soucis quant à l'allocation de mémoire pour un char* avec l'utilisation de malloc.
Voici mon code (bien allégé) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
char *fichier;
int taille =1504;
 
if(fichier = (char*)malloc(taille))
          {
 
                len = strlen( fichier );
                printf("Taille = %i \n", len);
                ...
                //mon code
          }
Lorsque je fais mon printf, la taille affichée est 1520 (alors que cela devraot etre 1504, non?).
De plus, lorsque j'affiche ma chaine "fichier" non remplie, j'obtiens en fin de chaine " ²²²²½½½½½½½½¯■¯■ " qui correspondent à ces 16 car en trop...

Comment rectifier le problème et faire en sorte que fichier ne contienne que 1504 char sans les indésirables de la fin ?

Merci