가능한 중복 :
Is there a way to diff files from C++?Linux C 또는 C++ 라이브러리에서 문자열을 비교 및 패치 할 수 있습니까?
내가 diff를 패치 할 긴 텍스트 문자열을 가지고있다.
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
경우는 보너스 될 사람이 읽을 수 있었다 : 그 문자열을 a와 b가 주어집니다. 이를 구현하기 위해
한 가지 방법은 diffutils
및 파이프 그들에게 문자열에서 diff
및 patch
쉘 명령을 호출 할 system(3)
을 사용하는 것입니다. 또 다른 방법은 함수를 직접 구현하는 것입니다. (저는 각 행을 원자 적으로 처리하고 표준 편집 거리 n^3 알고리즘을 역 추적과 함께 사용합니다).
누군가가 좋은 리눅스 C 또는 C++ 라이브러리를 알고 있는지 궁금합니다.
이 링크가 도움이 되나요? http://www.codeproject.com/Articles/3666/Diff-tool – billz
응용 프로그램에 파이썬을 내장 할 수 있다면 [this] (http://docs.python.org/2/library/difflib.html)는 도움이 되길. – user4815162342