C言語にて、一部をPerlのスクリプトを呼び出して
使用したいのですが、どうすれば良いかわかりません。
必要なものと、出来ればやり方を簡単に教えていただける
とうれしいです。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

No.1の補足の「Cとしての1つのプログラムにしてしまいたいです。

」の意味が
よくわからないのですが、perl に与えるスクリプトファイルは、C のソースとは
別になっていてもいいのでしょうか?

もしそうなら、例えば以下のようなコードはどうでしょう?
これで、perl スクリプト x の実行結果を C に取り込めますが…
(PATH や例外処理などは省いてあります)

FILE *f;
f = popen("perl x", "r");
(getc などで結果を得る)
pclose(f);
    • good
    • 0
この回答へのお礼

ちょっと試してみました。使えそうです。
とりあえず、これでがんばってみます。
どうもありがとうございます。

お礼日時:2001/07/24 17:16

 Visual C++ であればサンプルがありますので、何か参考になれば。


 俺が作ったモンですけど(^_^;

参考URL:http://www.edit.ne.jp/~deagle/software/sec100.lzh
    • good
    • 0
この回答へのお礼

ありがとうございます。
でもVisual C++わかりません。
Cも初心者です。

お礼日時:2001/07/24 14:40

プラットフォームにもよるでしょう。


UNIX & gcc & Perl ?
Win & MS-VC++ & Active Perl ?
一部というのは、出力を受け取りたいという意味なのでしょうか。

この回答への補足

環境はUNIX&gcc&perlです。
perlで処理した出力を受け取りたいです。
ただし、Cとしての1つのプログラムにしてしまいたいです。

補足日時:2001/07/24 14:30
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC言語にてプログラミングを行っていて、FindFirstFileにてフ

C言語にてプログラミングを行っていて、FindFirstFileにてファイル名を取得しようとしていますがうまくいきません。

第一引数に「D:\test\aaa*」と指定して、aaa01、aaa02、aaa03のようなファイル名が取得したいと考えています。

FindFirstFileの戻り値として、INVALID_HANDLE_VALUEがくるため目的の動作になりません。

上記のような事はできないのでしょうか?

いろいろ調べてみましたが解決できなくて質問させていただきました。

以上ですが、よろしくお願いいたします。

Aベストアンサー

バカにしているようで申し訳ないですがもう一度設定周りを見直してみてはいかがてしょう?
良くあるケースだと。
1. INIに記述したPATHが間違えてる
2. INIからPATHを取得できてない
3. ほんとに存在しない。
ですね。

1.と2.については、INIから取得したPATHを printf() 等にて出力して
その出力されたPATHを dir コマンドに渡してあげるコトで確認できると思います。
手入力じゃなくてコピペするようにしてください。

あとINIに指定したものを取得してFileFindFirstにわたすのなら\のエスケープは不要です。
エスケープはコンパイラの都合ですから。。
1.2.3.やってもだめなら、他の回答にあるように GetLastErrorから終了の原因を突き止めるしかありませんね。

Qperlスクリプト内の変数を別のCプログラム中の変数に代入するには?

次のようなことは可能でしょうか。もし可能でしたらどのようなスクリプトを書けばよいでしょうか。

test.cというCプログラムがあってこの中ではprintf("x=%d",k);と出力するようになっています。 perlスクリプト内で同様に変数kを定義してforループでまわします。そのループ内でtest.cファイルを開きtest.c内の変数kにperlで定義した変数kの値が代入されてコンパイル・実行するようなスクリプトを組みたいのですが。

なぜこのようなことをしているかというと太郎君がk歳のときのj月のときの身長を記録すると言うようなことをやっているためです。身長の計算は別のCプログラムでやっています。perlスクリプトで1歳、2歳、3歳というディレクトリを作って、各ディレクトリに1月身長.dat、2月身長.dat、・・・12月身長.datというデータをおくことを考えています。

Aベストアンサー

可能は可能です。
system関数で任意のプログラムを起動することができるから、
perlでtest.cを書き換え、gccとtestを起動すればいいわけです。
でもちょっと、いくらなんでもという気がします。

プログラムtestの方を、引数を受け取るようにはできないのでしょうか?
そうすれば
>system "test", $k;
でkの値をプログラムtestに渡せます。

Qc言語はどのくらい出来るようになれば良いのでしょうか? 他の言語を勉強する予定ですけど、まずはc言

c言語はどのくらい出来るようになれば良いのでしょうか?

他の言語を勉強する予定ですけど、まずはc言語を勉強しようと思い勉強してるのですが、どこまで出来るようになれば良いのでしょうか

Aベストアンサー

単にC言語の文法を勉強するだけなら難しい事ではありません。
但し、仕事として活用できるレベル、又は他の言語を理解するのに
役に立つレベルになるには、多くの知識と経験が必要になります。

C言語を使って、そこそこ難しいアルゴリズムでも簡単に作れる程度
(最低限)になれば、他の言語でも習得するのは容易ですが、勉強の
目的が他の言語を学ぶ足がかりにするだけなら、C言語を学ぶ効果は
低い物となります。

陸上競技で記録に関係無く100m・200m走るだけなら、誰でも簡単に
出来るが、競技大会において上位入賞できるレベル、又は短距離走
での能力を生かし、他の競技(例えば走り幅跳び)で好記録を出せる
レベルになる事は難しいのと同じ。

QPHPやCGIやPerlやRubyやC言語・・

はじめまして。
仕事上の関係でプログラミングを今から覚えようと思っています。

PHPやCGIやjavaやPerlやRubyやC言語などありますが、
どれをおぼえたらいいのかまったくわかりません。

ちなみに覚えてやろうと思ってることが、
ランキングサイトとサブアドを運営する為です。

この場合何を覚えたらいいのでしょうか?

ちなみに初心者向けやオススメ参考書などあれば一緒に教えてください。

Aベストアンサー

>仕事上の関係でプログラミングを今から覚えようと思っています。
>PHPやCGIやjavaやPerlやRubyやC言語などありますが、
言語は、規模やメンテ性で選ぶものだと思いますが小規模で個人が運営する場合はPHPやPerlが多いと思われます。
ちなみにCGIという言葉は、技術を指す言葉で特定の言語を指すわけではありません。
http://ja.wikipedia.org/wiki/Common_Gateway_Interface

運営するサーバー次第で使える言語も違ったりします。例えば、自分でサーバー自体を管理するのか、サーバーを借りるのかでも話が違ってきます。
C言語をCGIで使うのは、よほど高速性を求めたいときだと思いますのでプロに任せたほうが良いでしょう。
CGI専用のカテゴリがありますので、細かい相談はそちらでお願いします。
[技術者向] コンピューター > プログラミング > CGI

>ランキングサイトとサブアドを運営する為です。
カテゴリを移る前に聞いておきたいのですが、サブアドを運営するってどんなサービスを考えていますか?
ランキングサイトもデータベースが必要となる大規模のものかによって話が違いますので、カテゴリを移る前に検討しておいてください。

カテゴリを移る場合は、こちらの質問を締め切ってください。マルチポストで削除対象になってしまいます。

>仕事上の関係でプログラミングを今から覚えようと思っています。
>PHPやCGIやjavaやPerlやRubyやC言語などありますが、
言語は、規模やメンテ性で選ぶものだと思いますが小規模で個人が運営する場合はPHPやPerlが多いと思われます。
ちなみにCGIという言葉は、技術を指す言葉で特定の言語を指すわけではありません。
http://ja.wikipedia.org/wiki/Common_Gateway_Interface

運営するサーバー次第で使える言語も違ったりします。例えば、自分でサーバー自体を管理するのか、サーバーを借りるのかでも話が...続きを読む

Qperlは漢字の変数が使えますが、C言語では使えないのでしょうか

普段はperlを使っていますが。今般、C言語を使う事になりました。今迄perlの変数は漢字を使っていますので、C言語で漢字の変数が使えると良いのですが不安になります。

コンパイラーに依っても違って来ると思いますが。宜しく、お願いします。

Aベストアンサー

>コンパイラーに依っても違って来ると思いますが。

普通にコンパイラ依存…でしょうね。

http://cdecrement.blog.fc2.com/blog-entry-67.html
VC++では使えるようです。
分割コンパイルでファイル毎に文字コードが異なった場合にどうなるか…は不明ですが。
# main.cppがShift-JISで、sub.cppがUTF-8だった…とかの場合に正常にリンクできるのか?とか…。

ただ……仕事で使われるコードで変数名などに漢字とかの多バイト文字使われると…やり直しを要求される可能性が高いでしょうね。
# 和英辞書とかのサイトはありがたく利用させていただいてますが。


人気Q&Aランキング

おすすめ情報