C言語関係掲示板

過去ログ

No.322.grepを用いてデータを取り込みたい

[戻る] [ホームページ]

No.2001

MS-DOSコマンドを実行する
投稿者---TOKI(2002/07/07 19:00:39)


system("なにかいれる");
上記のように関数systemを利用すると、MS-DOSコマンドを実行することができます。
そこで、あるファイルからgrep機能を用いてデータを配列もしくはポインタに取り込みたいのですが、うまくいきません。
どうすればいいでしょう?
お願いします。

No.2004

Re:MS-DOSコマンドを実行する(その出力を取り込む)
投稿者---kikk(2002/07/07 20:16:18)


ども。


やりたいことがよくわかりませんが、
system("grep pattern infile>infile.greped")
としたあと、infile.grepedを読み込むのではだめでしょうか?


なお、もしgrep後のファイルを読んで処理して出力するのが
そのプログラムのメインの機能であるならば、UNIX系の
コマンドみたいに、「引数に入力ファイルが指定されなければ
入力は標準入力とする」というような仕様にしてしまうのも
ひとつの手かもしれません(system()をなくせます)。


では。

No.2015

Re:MS-DOSコマンドを実行する(その出力を取り込む)
投稿者---TOKI(2002/07/09 08:59:10)


Perlには文字列を検索する機能が備わっていますが、Cにはそれがないです。そこで、関数Systemを利用すればMS-DOSコマンドを実行するので、そこからgrepをうまく利用して文字を検索できればと思ったわけです。文字を検索するソースプログラムを作成してもいいのですが、ソースが長くなりすっきりしないです。難しい(汗;