Argument structure
Résolu
pweteur
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
pweteur Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
pweteur Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
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.... :(
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.... :(
A voir également:
- Argument structure
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Type d'argument byref incompatible ✓ - Forum VB / VBA
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Probleme pour executer python ✓ - Forum Ubuntu