PDA

View Full Version : [C] Passare una stringa come void*


Mistre
15-04-2006, 22:37
Ciao a tutti,
sono ancora alle prese con i dannati thread!!

Io ho la necessita' di passare alla funzione della pthread_create una stringa, cioe'

pthread_create( &tid, NULL, funzione, stringa );

la funzione pero' e' del tipo:

void *funzione( void *argc );

questo perche' lo vuole la pthread_create, come faccio?

Grazie dell'aiuto!

Mistre
15-04-2006, 22:58
risolvo :mc: :mc: :mc:

andbin
16-04-2006, 17:56
Ciao a tutti,
sono ancora alle prese con i dannati thread!!

Io ho la necessita' di passare alla funzione della pthread_create una stringa, cioe'

pthread_create( &tid, NULL, funzione, stringa );

la funzione pero' e' del tipo:

void *funzione( void *argc );

questo perche' lo vuole la pthread_create, come faccio?Basta che passi il puntatore direttamente alla pthread_create (da char* a void* non ci sono problemi) e poi nella funzione fai un cast da void* a char*. Come unico requisito devi essere sicuro che la stringa sia ancora "in vita" nel momento in cui la funzione del thread parte.