संभव डुप्लिकेट:
Is there a way to diff files from 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
मानव पठनीय है कि एक बोनस होता था: यह तार ए और बी दिया जाता है। इस लागू करने के लिए
एक तरह से system(3)
उपयोग करने के लिए diffutils
और पाइप उन्हें तार से diff
और patch
खोल आदेशों कॉल करने के लिए किया जाएगा। एक और तरीका स्वयं कार्यों को कार्यान्वित करना होगा (मैं सोच रहा था कि प्रत्येक पंक्ति परमाणु रूप से इलाज किया जाए और बैकट्रैकिंग के साथ मानक संपादन दूरी एन^3 एल्गोरिदम लाइनवाइज़ का उपयोग करें)।
मैं सोच रहा था कि क्या कोई अच्छी लिनक्स सी या सी ++ लाइब्रेरी के बारे में जानता है जो काम में काम करेगा?
यह लिंक उपयोगी होगा? http://www.codeproject.com/Articles/3666/Diff-tool – billz
यदि आप अपने आवेदन में पायथन एम्बेड कर सकते हैं, [यह] (http://docs.python.org/2/library/difflib.html) सहायक बनें। – user4815162342