fc2ブログ
 カレンダー

09月 │2023年10月│ 11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

 プロフィール

はしもと

Author:はしもと
ユーザインタフェース系のお仕事をしてます.関心領域は画像処理,拡張現実感,ヒューマンコンピュータインタラクション,エンタテインメントコンピューティングあたり.モノ書きもやってます.

 工学ナビ

工学ナビは工学系の技術のチュートリアルを扱うサイトです.

 作ったもの

 Twitter

 

 天気予報


 ブログ内検索

 カテゴリー

最新コメント

 RSSフィード

 リンク

このブログをリンクに追加する




工学ナビの中の人 はしもとのブログです. いろんなコトを研究的,工学的な視点で見つめます.
C言語のプログラムでgnuplotにグラフを描かせる(Windows)
ちょっと覚書きです.

Windowsで,C言語のプログラムからgnuplotというグラフ描きソフトに
データを送ってグラフを描画させたいと思ったので試行錯誤.

最初はsystem()とgnuplotの起動オプションでどうにかしようとしてたけどうまくいかない.
「じゃあパイプを使うか」と考えてネットで調べてみたけど,出てくるのはUnix,Linuxのコードばかり.
むぅ.

で,しばし困ったあと移植に成功.ポイントは
 ・「popen」「pclose」を「_popen」「_pclose」に変更
 ・呼び出すプログラムは「wgnuplot.exe」ではなく「pgnuplot.exe」

これだけ.

というわけで,「CのプログラムからGNUPLOTを動かす方法」をWindows(VisualC++)に移植したのがコチラ.移植と言いつつ,赤字のところぐらいしか変更点なくて逆に申し訳ない気持ちでいっぱいです.高橋先生ありがとう.

#include <stdio.h>
#include <stdlib.h>
#define GNUPLOT_PATH "C:/gnuplot/bin/pgnuplot.exe"

int main()
{
FILE *gp;
gp = _popen(GNUPLOT_PATH, "w");
if (gp == NULL) {
fprintf(stderr, "Oops, I can't find %s.", GNUPLOT_PATH);
exit(EXIT_FAILURE);
}

// gnuplotにコマンドを送る
fprintf(gp, "plot sin(x)\n");

fflush(gp); // バッファに格納されているデータを吐き出す(必須)
getchar(); // 入力待ち
_pclose(gp);
exit(EXIT_SUCCESS);
}



この記事に対するコメント

あけましておめでとうございます。
24おもしろそうですね。いいなぁ。

そういえば、X01HT買ってしまってます(汗
VS2005でVBやらVC++のアプリ組めてしまうのでカメラ使った笑い男とかやりたくてうずうずしてますwww(腕ないorz...
【2007/01/09 19:26】 URL | 警備員 #FCbMmv32 [ 編集]


警備員さん,あけましておめでとうございます.

X01HTとはまた素敵なモノをお持ちですね.WZERO3にしてもそうですが,この手のデバイスはカメラが自作プログラムからいじれるかいまいちはっきりしない(情報が少ない)ので,手を出しかねてるところです.(できたとしてもリアルタイムの画像処理は厳しいかもしれませんけど)

キーボードがガシャッってしまえるガジェットは以前からいろいろ目をつけてますが,いちばん興味があるのはOQOです(一応PCですけど).映画MI:3とか24(シーズン3)などの作品にも登場するんですが,あれ見てると思わず欲しくなります.

24は昨日ようやくシーズン3を見終わりました.面白すぎて危険です.
シーズン4の見てない分を見て5に突入しようと思います.
【2007/01/10 01:11】 URL | なおき #F54KmX5Y [ 編集]




この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://kougaku.blog28.fc2.com/tb.php/207-bc029f4b
この記事にトラックバックする(FC2ブログユーザー)