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.
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;
}
Quand je compile, j'ai ce message d'erreur.

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 *’
Pourtant, je copie un char[2] dans un char[2] pour le premier.
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 ?