Posez votre question Signaler

Argument structure [Résolu]

pweteur 24Messages postés 9 juin 2006Date d'inscription - Dernière réponse le 18 mars 2007 à 19:35
Bonjour , voila je suis sous win XP et j'utilise le compilo Dev-C++
et j'ai un probléme assez embétant.
j'ai la struct :
struct message {
char **argv;
char *argcv[21];
int nbr;
struct message *next;
};
et j'utilise cette struct dans la fonction suivante
#define MAXREAD 20
void
first_message(char *line)
{
int i = 0;
message *irc = NULL;
char cpbuf[1705], *ptr;
int a = 0;
char svmode[500];
strcpy(cpbuf,line);
if (line[0] == ':') { line = line+1; }
irc = (message *) malloc(sizeof(message));
if ( irc != NULL ) {
irc->argv = (char **) malloc(sizeof (char **));
}
aprés quand une ligne de message arrive je la découpe de la facon suivante, et je met chaque mot obtenu dans irc->argcv[numéro]
en fesant une boucle pour avoir tous les mot un par un
irc->argcv[a] = strtok(line," ");
irc->argv[a] = (char *) malloc(strlen(irc->argcv[a]) +1);
if (irc->argv[a] == NULL)
{
error("Erreur \'malloc()\'Fonction -> \'void first_message\'");
}
strcpy(irc->argv[a],irc->argcv[a]);
while (a < MAXREAD) {
a++;
irc->argcv[a] = strtok(0, " ");
if (irc->argcv[a] == NULL) {
break;
}
else {
irc->argv[a] = (char *) malloc(strlen(irc->argcv[a]) +1);
if (irc->argv[a] == NULL)
{
error("Erreur \'malloc()\'Fonction -> \'void first_message\'");
}
strcpy(irc->argv[a],irc->argcv[a]);
}
ensuite
irc->next = mlist; //mlist est le pointeur que je met a NULL au départ dans le main();
mlist = irc;
et puis je les free de la maniére suivante
if (irc->argv != NULL) free(irc->argv);
if (irc->argcv != NULL) free(irc->argcv);
mais le réel probléme c que quand mon programme recois trop de message a la fois il bug ..... alors avez-vous une idée ? moi j'en est pas.... :(
Lire la suite 

Argument structure »

2 réponses
Réponse
+0
moins plus
Vous avez vraiment pas d'idée ?
Ajouter un commentaire
Réponse
+0
moins plus
J'ai trouvé c bon .
Ajouter un commentaire
Ce document intitulé « argument structure » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook