C popen / pclose

#2187630
Lesenswert?

Hallo Zusammen,

ich habe mir eine kleine Funktiongebastelt, die einen hübschen 2D Plot 
macht.
1
int plot(char *col, char *dfile, char *gfile)
2
{
3

4
    FILE *pipe = popen("gnuplot -persist","w");
5
    fprintf(pipe, "set term png\n");
6
    fprintf(pipe, "set output '%s'\n", gfile);
7
    fprintf(pipe, "set pm3d map\n");
8
    fprintf(pipe, "set size ratio 1\n");
9
    fprintf(pipe, "set xrange [0:%i]\n", xdim-1);
10
    fprintf(pipe, "set yrange [0:%i]\n", ydim-1);
11
    fprintf(pipe, "set xtics 0\n");
12
    fprintf(pipe, "set ytics 0\n");
13
    fprintf(pipe, "set palette model %s\n", col);
14
    fprintf(pipe, "unset colorbox\n");
15
    fprintf(pipe, "splot '%s' matrix using 1:2:3 notitle", dfile);
16

17
    pclose(pipe);
18
    return 0;
19
}
Das Problem ist es funktioniert einwandfrei ich bekomme aber trotzdem 
ständig Warnungen obwohl ich die stdio.h eingebunden habe. Weiß jemand 
warum?

warning: implicit declaration of function ‘popen’
warning: assignment makes pointer from integer without a cast
warning: implicit declaration of function ‘pclose’

Zweite Frage auf meinem Linux läuft das tadellos aber kann man das auch 
auf Windows exportieren?

Gruß
#2187643
Lesenswert?

Das sind der include Block.
Tut aber nichts weiter zur Sache popen sollte in stdio.h drin sein. 
Zumindest laut Internet.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <math.h>
4
#include <string.h>
5
#include <stdlib.h>
6
#include <gtk/gtk.h>
7
#include <gdk/gdk.h>
8
#include <gtkextra/gtkextra.h>

Im main wird dann einfach die Funktion aufgerufen und fertig tut also 
auch nichts wirklich zur Sache beitragen oder?

Und die Warnings sind alles was ich bekomme, laufen tut es ja wie es 
soll. Nur wenn er warnings rausgibt kann sein das es halt nicht immer 
tut oder?

Klaus war schneller als ich hehe

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren