Augmenter la taille d'un buffer
Bonjour,
Ça va maintenant faire un bon moment que je reste bloquée sur ce point : je souhaite placer le résultat d'un read dans un buffer, et si le buffer est trop petit, l'augmenter.
J'ai essayé avec un buffer statique et un dynamique mais ça ne marche toujours pas.
Voilà une partie de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
char buffer[SIZEBUF];
ssize_t nb;
int size=SIZEBUF; //size prend la taille originale du buffer
nb=read(fd,buffer,sizeof(buffer));
if(nb==size)
{
while (nb>0 && nb==size)
{
size*=2;
buffer[size]; //ici je voulais réallouer mon buffer avec une taille plus grande
nb=read(fd,buffer,size);
}
} |
Est-ce que c'est possible en statique ou je dois le faire en dynamique ?
Merci d'avance pour votre aide,
Julie