Bonjour, j'ai un petit problème avec de la copie de char*.
J'ai une struct Objet définie comme ci dessous, que j'utilise dans ma fonction threadProd.
Quand je compile, j'ai ce message d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 //struct Objet{ // char identificateur[2]; // char objet_content[126]; //}; //typedef struct Objet Objet; int threadProd(int num){ int period=100; /* en millisecondes */ char type_objet[2]; char* trame; Objet* info; char num2=(char)num; type_objet[0]='t'; type_objet[1]=(char)num; type_objet[2]='\0'; info->identificateur=type_objet; info->objet_content="25\0"; //blabla return 0; }
Pourtant, je copie un char[2] dans un char[2] pour le premier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 archi6[RSTRE] gcc -std=c99 Producteur.c -o producteur Producteur.c: In function threadProd: Producteur.c:39: error: incompatible types when assigning to type char[2] from type char * Producteur.c:40: error: incompatible types when assigning to type char[126] from type char *
Pour le second, les données que je vais devoir mettre dans objet_content ont une taille variable, au maximum 126 caractères.
Pourquoi ces erreurs, et que faire pour remplir les champs de mon Objet ?
Partager