Bonjour
Je souhaite mettre la taille de mon tableau à zero alors que je suis en pleine boucle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
char mdc[100]="0";
char exit[4]="exit";
while(1)
{
        if(strcmp(mdc,exit)==0)
        {break;}
 
        read(fdaccept,mdc,sizeof(mdc));
        printf("Message recu du client:%s \n",mdc);
        memset(mdc,'\0',sizeof(mdc));
}
J'ai reussi a initialiser tout les caracteres du tableau lors de la declaration et avec le memset.
Mais je souhaite mettre la taille de mon tableau à zero.
Fonctionnement de mon prog:
- Il compare mdc(="0") avec exit(="exit")
- Si mdc == exit on sort de la boucle
- Sinon on lit les données recus, on les affiches et on remet à zero les champs du tableau

Le probleme:
- si mdc ="banane"
- si mdc ="exit"
je ne peux pas sortir de ma boucle
car mdc != exit
Je suppose que le prog l'interprete comme cela:
si mdc ="banane" -> mdc = "banane"
si mdc ="exit" -> mdc ="exitne" ou mdc="exit\0\0"
Voilà pourquoi je souhaite reduire la taille de mon tableau ou s'il ya une autre solution je suis ouvert.
Je vous remercie d'avoir lu entierement ce poste.