Bonjour!

pourquoi est ce quand je fais 2 sprintf à la suite sur deux char* différents, j'obtiens une concaténation des deux dans le même char * ?

Voici une partie partielle de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
char request[MAX_SIZE_REQUEST];/*250*/
char select[MAX_SIZE_REQUEST];
 
sprintf(request,"insert into %s values (NULL,'%s','%s','%s','%s')",tableName,values->pair[mapString_isset(*values,LABEL_GENRE)]->value, values->pair[mapString_isset(*values,LABEL_DIRECTOR)]->value, values->pair[mapString_isset(*values,LABEL_ACTOR)]->value, values->pair[mapString_isset(*values,LABEL_PRODUCER)]->value );
sprintf(select,"select max(id_profile)+1 from %s",tableName);
j'obtiens
request :
insert into profile values (NULL,'4,8.91;17,9.65;16,7.02;3,7.94;12,8.19;2,9.56;15,8.44;6,7.05','3630,0.1;3177,0.1;4016,0.77;3649,0.1;3871,4.28','12679,0.1;12680,0.1;11754,0.1;12681,0.1;12682,0.1;11074,0.1;11075,0.1;11076,0.1;11077,0.1;11078,0.1select max(id_profile)+1 from profile

select :
select max(id_profile)+1 from profile


Voila merci!
et au sinon un moyen de passer en dynamique request et select?
j'avais essayé char ** request;
request=malloc(sizeof (char*));
sprintf(*request,[..]);
mais ça me faisait une erreur de segmentation.