Salut a tous !
Bien voila, je cherche a faire, pour le moment, des threads à qui j'en voie un nom différent pour chacun et ils me disent le nom qu'ils ont recu..
Prenons un exemple.
Imaginons que je veuille envoyer un nom de fichier avec cette syntaxe :
fichier1, fichier2, fichiern
J'ai donc ce code :
#include <stdio.h>
#include <string.h>
#include
// Tache qu'effectue les slots
void * new_thread(void * fichier)
{
char test[50]="";
strcpy(test, fichier);
//Affiche le fichier
printf ("%s\n", test);
//Attent 2secondes
sleep(2);
return(NULL);
}
int main ()
{
pthread_t thread;
char fichierOr[]="fichier";
char fichier[10]="";
int i;
for( i=0; i<20; i++ )
{
sprintf(fichier, "%s%d", fichierOr, i);
printf ("Le fichier en cours : %s\n", fichier);
if(pthread_create(&thread, NULL, new_thread, (void *) fichier ))
{
fprintf(stderr, "error creating a new thread \n");
return1;
}else{
printf ("Slot créé.\n");
}
pthread_detach(thread);
}
return0;
}
Mais mon soucis, c'est que j'obtient :
Le fichier en cours : fichier0
Slot créé.
Le fichier en cours : fichier1
Slot créé.
Le fichier en cours : fichier2
Slot créé.
Le fichier en cours : fichier3
Slot créé.
Le fichier en cours : fichier4
Slot créé.
Le fichier en cours : fichier5
Slot créé.
Le fichier en cours : fichier6
Slot créé.
Le fichier en cours : fichier7
fichier7
fichier7
fichier7
fichier7
fichier7
fichier7
fichier7
Slot créé.
Le fichier en cours : fichier8
Slot créé.
Le fichier en cours : fichier9
Slot créé.
Le fichier en cours : fichier10
Slot créé.
Le fichier en cours : fichier11
Slot créé.
Le fichier en cours : fichier12
Slot créé.
Le fichier en cours : fichier13
Slot créé.
Le fichier en cours : fichier14
fichier14
fichier14
fichier14
fichier14
fichier14
fichier14
fichier14
fichier14
Slot créé.
Le fichier en cours : fichier15
Slot créé.
Le fichier en cours : fichier16
Slot créé.
Le fichier en cours : fichier17
Slot créé.
Le fichier en cours : fichier18
Slot créé.
Le fichier en cours : fichier19
Slot créé.
Pourriez vous m'aider ???
ZedMaTriX
Afficher la suite