2013-12-22 5 views
2

Мне нужно передать переменную, определенную в моей основной программе (обычная C), на Gnuplot через трубу. Как я могу это сделать? Любая помощь очень ценится.Как передать переменную, определенную в C в Gnuplot через трубу?

Благодаря

PS: Ubuntu 12.04.3 LTS, GCC 4.6.3

Код:

FILE *pipe = popen("gnuplot -persist","w"); 
    //fprintf(pipe, "bin_width = binsize; "); 
    fprintf(pipe, "load 'Q3.gnu' \n"); 
    close(pipe); 

EDIT: Я решил свою собственную проблему, извините принять ваше время. Решение:

FILE *pipe = popen("gnuplot -persist","w"); 
    fprintf(pipe, "binsize = %f;", (float)binsize); 
    fprintf(pipe, "load 'Q3.gnu' \n"); 
    close(pipe); 
    return 0; 
+0

Показать Ваш код. Как ваша программа C взаимодействует с 'gnuplot'? Что вы понимаете, передавая переменную? Используете ли вы «popen»? Как?? –

+0

@BasileStarynkevitch Я пишу часть кода, относящуюся к моему аргументу. – Vesnog

+0

@BasileStarynkevitch Переменная binsize определена в моем исходном коде C, и я хочу передать ее Gnuplot и использовать ее для целей построения. Я прокомментировал эту часть с тех пор, как она столкнулась с проблемами, также я бы предпочел, чтобы это стало возможным благодаря использованию Gnuplot без переименования, если это возможно. – Vesnog

ответ

2

Я не могу дать вам точный ответ, но gnuplot_i интерфейс использует механизм трубы общаются с GNUPLOT сессии. Это кажется очень близким к вашему запросу. Я считаю, что вы можете найти полезную информацию на домашней странице проекта (http://ndevilla.free.fr/gnuplot/).

+0

Хорошо спасибо за ваш интерес, я посмотрю на ссылку, которую вы упомянули. – Vesnog

Смежные вопросы