ciao raga
devo creare un thread che scriva a video una stringa ed un intero passati da linea di comando
nella compilazione mi da errore sull'assegnamento val.c1 =car1
dove sbaglio?
codice:
#include<stdlib.h>
#include<stddef.h>
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h> //LIBRERIE
#include<sys/stat.h>
#include<dirent.h>
#include<pthread.h>
#include<errno.h>
pthread_t tid1;
struct valori
{
int a;
char c1[10];
};
struct valori val;
void *fun1(void *arg)
{
printf("stringa =%s\n",val.c1);
printf("ho ricevuto in numero %d\n",val.a);
}
int main(int argc , char **argv)
{
int n;
char car1[10] ;
n=atoi(argv[1]);
sprintf(car1,"%s",argv[2]);
val.a=n;
val.c1=car1; // qua da errore
pthread_create(&tid1,NULL,fun1,&val);
pthread_join(tid1,NULL);
}