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
j'obtiens
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);
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.
Partager