• 締切済み

Cのプログラム上でDiffを使いたい

Visual Studio2005 WindowsXP 上でプログラムを作っています。 使用言語はC言語です。 プログラム上でDiffを使いたいのですが、Cygwin等にあるような Diffを使うことは可能なのでしょうか? やりたいこととしては、 2つのファイルのDiffを行って、 挿入、削除された行の行番号を取得したいと思っています。

みんなの回答

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

>質問の仕方が悪くて申し訳ないですが、 >Diffを関数の様に使いたいと思っています。 Diff自体を関数のように使うことはできません。 どうしても、関数のようにつかいたいのであれば、 vectorに差分をとるライブラリがありますので、それを使用されてはいかがでしょうか。参考URLを見てください。

参考URL:
http://www.vector.co.jp/soft/winnt/prog/se401772.html
shal
質問者

お礼

ありがとうございます。 参考にしたいと思います。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

diffそのものを使いたいのであれば、パイプを使って http://gnuwin32.sourceforge.net/packages/diffutils.htm を呼び出すのが一番簡単だと思います。 単に、 > 挿入、削除された行の行番号を取得したいと思っています。 ということであれば、両方のファイルを読み込んで自分で比較しても知れていると思います。

shal
質問者

お礼

回答ありがとうございます。 プログラム内で何度も使うつもりなので、 パイプだと無理ではないでしょうか? 質問の仕方が悪くて申し訳ないですが、 Diffを関数の様に使いたいと思っています。 また、自分で0から作ることも考えましたが、 力量的な問題で諦めました。

関連するQ&A

専門家に質問してみよう