Salut
merci a ceux qui m´on permis d´arriver jusque la mais j´ai a nouveau un problemme ><
ce programme plante quand la fonction interprete entame strcmp:
Code : C
/*************************************************
- **************************
*
- Premet d´echanger des données avec le Serveur. Recevoir ou Envoyer
*
- ***********************************************
- *************************/
int CommunicatWithServer ( SOCKET fdSock )
{
unsigned char data[128 + 1], data2[128+1], Madata[256];
int end = 0;
do
{
/* saisi d´une chaine de caractére */
fgets (Madata, sizeof(data), stdin); Madata[strlen(data)-1] = /*´\0´;
JE MET CECI EN COMMENTAIR SINON TOUT LE RESTE DU CODE EST UN ROUGE*/
/* Decoupons maintenant */
/*char delimiteurs[50] = {´(´,´)´};
JE MET CECI EN COMMENTAIR SINON TOUT LE RESTE DU CODE EST UN ROUGE*/
char * monToken;
monToken = strtok(Madata, delimiteurs);
char * data = (char *)malloc(strlen(monToken) * sizeof(char));
strcpy(data, monToken);
monToken = strtok(NULL, delimiteurs);
char * data2 = (char *)malloc(strlen(monToken) * sizeof(char));
strcpy(data2 , monToken);
if( strcmp(data, "/quit") == 0 )
end = 1;
if( strcmp(data, "/help") == 0 )
printf("Pensser a afficher l´aide ici \n");
if( strcmp(data, "/cls") == 0 )
system("CLS");
if( strcmp(data, "/open") == 0 )
Interprete(data, data2);
if( strcmp(data, "/data") == 0 )
printf("%s (data),\n%s (data2). \n", data, data2);
else
{
int sock_err = envoi_data (fdSock, data);
if (sock_err == SOCKET_ERROR)
{
perror("CommunicatWithServer.recv");
end = 1;
}
}
}
while (!end);
return 0;
}
/*************************************************
- **************************
*
- Interprete de parenthése
- Permet d´interpreter le contenu des parenthése dans les commandes
*
- ***********************************************
- *************************/
void Interprete(char Fdata, char Fdata2)
{
printf("test1 \n");
if( strcmp(Fdata, "/open") == 0 )
{
printf("test2 \n");
system("PAUSE");
}
else{}
}
la compilation marche trés bien mais sa plante ici:
Code : C
if( strcmp(Fdata, "/open") == 0 )
J´ai crut comprendre que sa venait des "cast" j´ai rechercher mais aucunne explication de comment sa marche de ce que sa prend en compte ou de comment en fair :s
(et je vien de commencer la programmation donc vous pouviez y aller molo avec les mots de vocabulair ^^)
SVP je suis un neewby en detresse
Merci d´avance de votre aide 