Bonjour,

J'essaye d'écrire un petit programme c qui lance gnuplot et trace une courbe en fonction du temps.

Voici mon code :

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
#include <stdio.h>
#include <stdlib.h>
 
#define GNUPLOT_PATH "/usr/bin/gnuplot"
 
main()
{
	FILE *gp;
 
	gp=popen(GNUPLOT_PATH, "w");
	fprintf(gp,"set xdata time\n");
	fprintf(gp,"set timefmt '%Y-%d-%m_%H:%M'\n");
	fprintf(gp,"plot 'date.txt' using 1:2 with line\n");
	  fflush(gp);
	  getchar();
	  pclose(gp);
 
exit(EXIT_SUCCESS);
}
le problème vient de cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
fprintf(gp,"set timefmt '%Y-%d-%m_%H:%M'\n");
En effet mon compileur interprète les %d %m ... pour des caractères de conversion... et il attend des arguments après. Alors qu'en fait c'est une ligne de commande qui doit être lancée dans gnuplot. Comment faire pour que mon programme n'interprète pas cette ligne mais ne face que la lancer dans gnuplot ???