重複の可能性:
C++ からファイルを比較する方法はありますか?
diff とパッチを適用したい長いテキスト文字列があります。文字列 a と b が与えられます。
string a = ...;
string b = ...;
string a_diff_b = create_patch(a,b);
string a2 = apply_patch(a_diff_b, b);
assert(a == a2);
人間が読める場合a_diff_b
、それはボーナスになります。
これを実装する 1 つの方法は、 を使用しておよびシェル コマンドsystem(3)
を呼び出し、それらに文字列をパイプすることです。別の方法は、関数を自分で実装することです (各行をアトミックに処理し、標準の編集距離 n^3 アルゴリズムをバックトラッキングで行ごとに使用することを考えていました)。diff
patch
diffutils
インプロセスでジョブを実行する優れた Linux C または C++ ライブラリを誰かが知っているかどうか疑問に思っていましたか?