是否有任何开源项目或库能够以GNU diff的方式比较两个字符串,但无需启动外部进程,并且使用内存缓冲区而不是文件?
也就是说,看起来像这个假设函数:
comparison_result* diff(wchar_t *text1, wchar_t *text2);
我查看了GNU diffutils 的源代码,希望它会在内部使用这样的函数,但不幸的是,它正在逐块读取文件,而不是将它们读入内存缓冲区并进行比较。代码本身比较复杂,我也不是很懂,更别说重写了。
开源项目中有这样的功能吗?